Skip to content

Конфигурация контейнера ​

В контейнере Pano хранит всё в томе /data и может брать настройки базы данных и почты из переменных окружения вместо мастера настройки.

Том /data ​

/data — единственное место, куда пишет Pano. Смонтируйте туда том или папку и делайте резервные копии.

В /dataЧто это
Pano-<version>.jar и UIРелиз Pano. Полный образ копирует сюда свой jar при первом запуске
.pano-jarИмя файла jar, который запускает лаунчер. См. Режим контейнера
config.confФайл конфигурации Pano
plugins/, загрузки, логиВсё, что Pano создаёт во время работы

Остальная часть контейнера может быть только для чтения: Pano нужны лишь /data и временный /tmp. Так Pano Host запускает каждый Pano Instance.

Образ работает от uid 10000. Именованный том работает сразу; папка на хосте должна быть доступна этому пользователю на запись (chown -R 10000:10000 <папка>), либо укажите свой --user.

Переменные окружения ​

При первом запуске Pano записывает эти переменные в config.conf, поэтому сразу знает свою базу данных и почтовый сервер. Последующие изменения игнорируются; меняйте настройки в панели. Все переменные необязательны.

ПеременнаяЗадаёт
PANO_DB_HOST, PANO_DB_PORT (3306)Сервер базы данных
PANO_DB_NAME, PANO_DB_USER, PANO_DB_PASSWORDБаза данных и её пользователь
PANO_SMTP_HOST, PANO_SMTP_PORT (587)SMTP-сервер
PANO_SMTP_USER, PANO_SMTP_PASSWORDВход SMTP
PANO_SMTP_FROM, PANO_SMTP_STARTTLSАдрес отправителя, STARTTLS вкл. или выкл.
PANO_HTTP_PORTПорт, который Pano слушает внутри контейнера (8088)
PANO_JVM_ARGSПараметры Java через пробел (-XX:MaxRAMPercentage=75)

Пример:

bash
docker run -d --name pano \
  -e PANO_DB_HOST=mariadb \
  -e PANO_DB_NAME=pano \
  -e PANO_DB_USER=pano \
  -e PANO_DB_PASSWORD=change-me \
  -v pano-data:/data \
  ghcr.io/panomc/pano:latest

Не оставляйте пароли в истории оболочки: используйте --env-file или секреты вашего оркестратора.

Переменные Pano Host ​

Pano Host задаёт ещё несколько переменных. Для собственных установок они не нужны.

ПеременнаяНазначение
PANO_HOSTEDpano-host помечает инстанс как управляемый Pano Host. Только информационно: панель показывает «управляется Pano Host» и уведомления о квотах, ничего не блокируется
PANO_HOST_WORKLOAD_IDИдентификатор инстанса в Pano Host
PANO_HOST_INSTANCE_SECRETПозволяет инстансу принимать входы в панель с panomc.com и читать свои уведомления
PANO_HOST_API_URLАдрес API Pano Host

Старые версии Pano игнорируют все эти переменные.

config.conf ​

Pano перезаписывает config.conf при завершении работы. Правка, сделанная во время работы контейнера, пропадёт при следующей остановке. Чтобы изменить настройку вручную:

  1. Остановите контейнер (docker stop pano) и дождитесь его завершения.
  2. Отредактируйте /data/config.conf.
  3. Снова запустите контейнер.

Настройки, доступные в панели, безопаснее менять там. Для старых версий Pano без поддержки переменных окружения подходит тот же порядок: запустите один раз, чтобы Pano создал config.conf, остановите, добавьте настройки, запустите.