Запуск Umami
Это руководство запускает официальный Docker-образ Umami на Lizard с отдельной базой данных PostgreSQL. Используется Lizard CLI для развертывания небольшого локального Dockerfile и предоставления Umami через HTTPS.
Предварительные требования
- Аккаунт Lizard с доступом к хостингу приложений и Managed Postgres.
- Node.js и npm на вашем компьютере, а также OpenSSL для генерации секретов.
Установите Lizard CLI и выполните вход:
npm install -g @lizard-build/cli
lizard loginЗавершите вход в браузере перед продолжением. Команды ниже тестировались с Lizard CLI 0.3.95 и Umami 3.3.1.
Создание проекта и базы данных
Используйте новый каталог для этого развертывания:
mkdir umami-on-lizard
cd umami-on-lizard
lizard init --name umami-on-lizard
lizard add postgres --name umami-db
lizard add --service umamiЕсли вы состоите более чем в одном рабочем пространстве, передайте --workspace <workspace> в lizard init для выбора одного. Дождитесь, пока база данных достигнет статуса running, прежде чем развертывать Umami.
Настройка образа и секретов
Создайте файл с именем Dockerfile:
FROM ghcr.io/umami-software/umami:3.3.1
EXPOSE 3000Укажите Lizard использовать этот файл как есть:
lizard service set umami --set dockerfilePath=DockerfileПодключите базу данных и сгенерируйте два отдельных секрета:
lizard secrets set \
DATABASE_URL='${{umami-db.DATABASE_URL}}' \
APP_SECRET="$(openssl rand -hex 32)" \
TWO_FACTOR_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
--service umamiСохраняйте одинарные кавычки вокруг ссылки на базу данных: Lizard разрешит её при запуске сервиса. Значения принадлежат этому сервису, поэтому другие приложения в проекте их не получат.
Сохраните оба сгенерированных секрета в вашем менеджере паролей. Установите их один раз при настройке; не перегенерируйте их при перезапуске или обновлении. TWO_FACTOR_ENCRYPTION_KEY необходим для двухфакторной аутентификации.
Развертывание и вход
Из каталога, содержащего Dockerfile, выполните:
lizard up --service umami --port 3000Образ Umami при запуске выполняет настройку базы данных и миграции. Для этого образа отдельная команда миграции не требуется.
Откройте HTTPS-URL, возвращённый при развертывании. Для новой базы данных Umami 3.3.1 войдите с именем пользователя admin и паролем umami, затем сразу смените пароль в профиле перед тем, как делиться URL. Добавьте веб-сайт и установите его скрипт отслеживания на контролируемой вами странице.
Если развертывание не удалось, проверьте его статус и логи:
lizard events --service umami
lizard logs --build --service umami
lizard logs --service umamiЕсли первый запуск завершился таймаутом, проверьте lizard events на готовность контейнера. После запуска контейнера повторите загрузку с помощью lizard up --service umami --port 3000.
Проверка сохранности данных
Посетите отслеживаемую страницу и убедитесь, что Umami фиксирует просмотр страницы. Перезапустите приложение:
lizard restart --service umamiДождитесь повторного запуска сервиса. Убедитесь, что новый пароль работает и веб-сайт с просмотром страницы сохраняются. Затем повторите проверку после повторного развертывания:
lizard redeploy --service umamiUmami хранит аккаунты, настройки веб-сайтов и аналитику в PostgreSQL. Приложению не нужен файловый том для этих записей. Сохраняйте базу данных и секреты шифрования при замене или обновлении приложения. Проверка перезапуска не заменяет проверенный план резервного копирования и восстановления базы данных.
Обновление Umami
Сделайте резервную копию PostgreSQL и изучите примечания к выпуску перед обновлением. Измените тег образа в локальном Dockerfile, затем снова выполните lizard up --service umami --port 3000. Для этой настройки на основе загрузки lizard redeploy перестраивает последние загруженные файлы; он не загружает локальные правки.
См. руководство Lizard по PostgreSQL для доступа к базе данных и хранение и восстановление для планирования резервного копирования.