РуководстваЗапустите Umami

Запуск 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 umami

Umami хранит аккаунты, настройки веб-сайтов и аналитику в PostgreSQL. Приложению не нужен файловый том для этих записей. Сохраняйте базу данных и секреты шифрования при замене или обновлении приложения. Проверка перезапуска не заменяет проверенный план резервного копирования и восстановления базы данных.

Обновление Umami

Сделайте резервную копию PostgreSQL и изучите примечания к выпуску перед обновлением. Измените тег образа в локальном Dockerfile, затем снова выполните lizard up --service umami --port 3000. Для этой настройки на основе загрузки lizard redeploy перестраивает последние загруженные файлы; он не загружает локальные правки.

См. руководство Lizard по PostgreSQL для доступа к базе данных и хранение и восстановление для планирования резервного копирования.