Запуск в Docker - major1ink/Beacon-Table GitHub Wiki
Файл docker-compose.yml из репозитория рассчитан на сервер в интернете, то есть на VPS с публичным IP. Перед столом стоит Caddy, HTTPS обязателен, а сам стол снаружи не виден: до него можно достучаться только через Caddy.
Как запустить
-
Направьте домен на сервер записью A или AAAA.
-
Впишите домен и почту в
deploy/Caddyfile.example. Это два места: домен в заголовке блока и почта в строкеtls. -
Запустите:
docker compose up -d
Через минуту-две Caddy получит сертификат Let's Encrypt, и стол откроется по адресу https://ваш-домен.example/.
Порт 8080 наружу нигде не публикуется. До контейнера может достучаться только Caddy, который слушает порты 80 и 443. Так сделано нарочно: Docker сам правит iptables и обычно не считается с ufw и firewalld. Открытый по умолчанию порт на VPS с публичным IP чаще всего и раздаёт стол всему интернету, причём без единого предупреждения.
Пароль ведущего
Логин и временный пароль ведущего печатаются один раз, в вывод контейнера при самом первом запуске. В отличие от запуска файлом или службой systemd, их никто не увидит, пока не заглянет в лог:
docker compose logs beacon-table | grep password
При первом входе стол попросит сменить пароль на постоянный.
Если временный пароль потерялся, его можно получить заново. Пока ведущий не сменил его на свой, сервер выпускает новый пароль при каждом старте и снова пишет его в лог. Перезапустите контейнер и посмотрите лог той же командой:
docker compose restart beacon-table
docker compose logs beacon-table | grep password
После смены пароля это уже не сработает, так и задумано. Дальше вход только по паролю, который ведущий задал сам.
Только в локальной сети
Если стол нужен только в домашней или локальной сети, без интернета и домена, Caddy не нужен:
- Закомментируйте сервис Caddy в
docker-compose.yml. - Раскомментируйте
ports: - "8080:8080"уbeacon-table. В файле это подписано. - Поставьте
BEACON_BEHIND_PROXY: "false"вenvironmentуbeacon-table. Иначе войти не получится: браузер не сохранит cookie с флагом Secure на обычном http.
Стол станет виден всем в той же сети по адресу http://<адрес-этого-компьютера>:8080/, как при запуске готового исполняемого файла (см. Установка и первый запуск).
Настройки и данные
Настройки задаются в разделе environment файла docker-compose.yml. Можно взять и тот же beacon.conf: раскомментируйте env_file в docker-compose.yml и положите beacon.conf рядом.
Данные хранятся на томах beacon-data и beacon-uploads, поэтому пересоздание контейнера их не затрагивает.
Что дальше
Переменные окружения и beacon.conf описаны на странице Настройка, резервные копии и обновление образа — на странице Эксплуатация.