Запуск на сервере - major1ink/Beacon-Table GitHub Wiki

Эта страница про установку без Docker: стол работает службой systemd прямо на сервере, а впереди стоит обратный прокси. Если Docker есть, проще взять инструкцию Запуск в Docker, там HTTPS уже настроен.

Служба systemd

Готовый юнит лежит в deploy/beacon-table.service, порядок установки описан комментарием в самом файле. Настройки служба берёт из /etc/beacon-table/beacon.conf. Это тот же файл, который программа создаёт рядом с собой.

HTTPS через Caddy

Своего TLS у сервера нет, его даёт обратный прокси. Для Caddy есть готовый конфиг deploy/Caddyfile.example. Caddy сам получает сертификат Let's Encrypt и продлевает его. Нужны только домен, направленный на этот сервер, и открытые порты 80 и 443.

  1. Замените в конфиге reverse_proxy beacon-table:8080 (это адрес для Docker) на reverse_proxy 127.0.0.1:8080.

  2. Впишите домен и почту.

  3. Поставьте в beacon.conf:

    BEACON_ADDR=127.0.0.1:8080
    BEACON_BEHIND_PROXY=true
    

Если пароль принимается, но страница молча возвращает на экран входа, значит, снаружи ещё нет настоящего HTTPS. Браузер получает cookie сессии с пометкой Secure и не сохраняет её на обычном http. Экран входа в этом случае подскажет, в чём дело.

HTTPS через nginx

Если на сервере уже стоит nginx, возьмите deploy/nginx.conf.example. Сертификат в этом варианте получает certbot, а не сам прокси, как у Caddy.

В том же файле объяснено, почему без двух определённых строк в конфиге стол открывается, но не устанавливает WebSocket. В отличие от Caddy, nginx не проксирует WebSocket по умолчанию.

Что дальше

Мониторинг, резервные копии и обновление описаны на странице Эксплуатация. Чтобы диск VPS не закончился, задайте квоты на загрузки, см. Настройка.