yahont.example.ru.
Замените его на свой.
Как это работает
- Nginx на хосте принимает порты 80 и 443, расшифровывает HTTPS и проксирует запросы на локальный порт.
- Nginx в Docker Compose распределяет запросы между веб-сервером и API.
- Порт
127.0.0.1:3100не виден снаружи.
Шаг 1. Привяжите Yahont к локальному адресу
В каталогеdeployment/docker_compose создайте файл docker-compose.override.yml (нужен Docker Compose 2.24.4 или
новее):
!override список портов склеится со стандартным, и порты 80 и 3000 останутся открытыми.
В .env укажите адрес сайта:
docker compose up -d.
Если стек уже запущен, после правки .env выполните docker compose up -d.
Проверка: curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3100/ должна вернуть 200.
Шаг 2. Установите Nginx и Certbot
/etc/nginx/conf.d/upgrade-map.conf карту для WebSocket. Файл нужен один раз для всех сайтов на сервере,
и он должен существовать до сайтов, которые его используют:
Шаг 3. Выпустите сертификат
DNS-записьA вашего домена должна указывать на этот сервер. Сначала включите только HTTP-блок:
HTTPS-блок ссылается на сертификат, которого ещё нет, и Nginx не примет такой конфиг.
/etc/nginx/sites-available/yahont.example.ru.conf:
Шаг 4. Добавьте HTTPS-блок
Допишите в тот же файл:.env (NGINX_PROXY_READ_TIMEOUT и соседние переменные для nginx в Compose).
HTTP/2 200 или перенаправление на страницу входа.
Шаг 5. Включите автопродление сертификатов
После продления Nginx нужно перечитать сертификаты:rateLimited при частых пробных запусках renew --dry-run.
Это не ошибка настройки: подождите 10–15 минут.
По желанию: закройте OAuth-провайдер
Yahont публикует адреса/api/oauth-provider/* (регистрация клиентов и выдача токенов),
если WEB_DOMAIN начинается с https (или это адрес HTTP на localhost). Переменной, которая бы это отключала, нет.
Если вам эти адреса не нужны, закройте их в блоке server до остальных location:
Что ещё проверить
- Смените пароли по умолчанию в
.env(Postgres, S3, OpenSearch). Подсказки есть в самом файле. - Брандмауэр
ufwне закрывает порты, которые публикует Docker. Поэтому привязка к127.0.0.1из шага 1 обязательна. - Первый зарегистрированный пользователь становится администратором. Зарегистрируйтесь сами сразу после запуска.

