Переменные окружения (.env)#
| Переменная | Назначение |
|---|---|
DOMAIN | Имя сайта в Caddyfile (SNI, TLS). |
HTTP_PORT, HTTPS_PORT | Проброс портов хост → контейнер :80 / :443. |
BASIC_AUTH_ENABLED | true / false (и др.) — переключение Basic Auth (стартовый sh -c в docker-compose.yml, фрагменты в caddy/). |
BASIC_AUTH_USER, BASIC_AUTH_HASH | Учётная запись и bcrypt-хеш при включённой авторизации. |
LOG_LEVEL | Уровень логов Caddy. |
TIMEZONE | Часовой пояс контейнера (TZ). |
DATA_PATH | Путь к данным на хосте (монтируется в /srv/docs). |
PUBLISH_API_PORT, PUBLISH_API_TOKENS, PUBLISH_API_TRUST_X_HEADERS, … | HTTP API публикации ZIP (см. раздел HTTP API публикации). |
Подробнее — файл CONFIGURATION.md в корне репозитория.
Хеш пароля для Compose#
Строка bcrypt содержит символы $. В .env для Docker Compose каждый $ в значении BASIC_AUTH_HASH нужно удваивать ($$).
Интерактивно (запись в .env с удвоением $): bash scripts/hash-password.sh или .\scripts\hash-password.ps1.
Вручную:
docker run --rm caddy:2.8-alpine caddy hash-password -plaintext 'ВАШ_ПАРОЛЬ'Caddyfile#
- Корень сайта:
/srv/docs/portal/public. - Префикс
/docs/*: после снятия префикса файлы ищутся под/srv/docs(например/docs/easydocs/guide/→data/easydocs/guide/). - По умолчанию используется
tls internal(внутренний CA Caddy). Для Let’s Encrypt или корпоративного сертификата блок сайта нужно изменить под вашу инфраструктуру.
Базовый URL Hugo#
При размещении сайта в подкаталоге хаба (как это руководство в /docs/easydocs/guide/) у сборки Hugo должен быть согласованный baseURL (в CI передаётся флаг --baseURL /docs/easydocs/guide/).