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

DocPlatform читает конфигурацию из переменных окружения. Устанавливайте их в оболочке, файле .env в рабочей директории или в оркестраторе контейнеров.

Сервер

Переменная По умолчанию Описание
PORT 3000 Порт HTTP-сервера
HOST 0.0.0.0 Адрес HTTP-сервера. Установите 127.0.0.1 для ограничения доступа только localhost.
DATA_DIR .docplatform Корневая директория для всех данных DocPlatform (база данных, резервные копии, workspaces, ключи)
BASE_DOMAIN Пользовательский домен для опубликованной документации (например, docs.yourcompany.com). При установке опубликованная документация использует этот домен для канонических URL и записей sitemap.
PUBLISH_REQUIRE_AUTH false Если true, все опубликованные сайты документации требуют от посетителя входа в систему как участника workspace. Неаутентифицированные посетители перенаправляются на страницу входа и возвращаются на исходную страницу после авторизации.

Аутентификация

Переменная По умолчанию Описание
JWT_SECRET_PATH {DATA_DIR}/jwt-key.pem Путь к приватному ключу RS256 для подписи JWT. Генерируется автоматически при первом запуске, если отсутствует.
JWT_ACCESS_TTL 900 Срок жизни access token в секундах (по умолчанию: 15 минут)
JWT_REFRESH_TTL 2592000 Срок жизни refresh token в секундах (по умолчанию: 30 дней)

OIDC-провайдеры (опционально)

Включите вход через Google и/или GitHub, установив эти переменные. Если не установлены, доступна только локальная аутентификация (email + пароль).

Переменная По умолчанию Описание
OIDC_GOOGLE_CLIENT_ID Google OAuth 2.0 client ID
OIDC_GOOGLE_CLIENT_SECRET Google OAuth 2.0 client secret
OIDC_GITHUB_CLIENT_ID GitHub OAuth client ID
OIDC_GITHUB_CLIENT_SECRET GitHub OAuth client secret

Смотрите Аутентификация для инструкций по настройке.

Git

Переменная По умолчанию Описание
GIT_SSH_KEY_PATH ~/.ssh/docplatform_deploy_key Путь к приватному SSH-ключу для git-операций. Требуется для приватных репозиториев через SSH.
GIT_SYNC_INTERVAL 300 Интервал polling по умолчанию в секундах для удаленной синхронизации (минимум: 10). Переопределяется значением sync_interval для каждого workspace. Установите 0 для синхронизации только через webhook (без polling).
GIT_AUTO_COMMIT true Поведение auto-commit по умолчанию. Переопределяется значением git_auto_commit для каждого workspace.
GIT_WEBHOOK_SECRET Общий секрет для проверки webhook payload (HMAC-SHA256) от GitHub, GitLab или Bitbucket.
GIT_COMMIT_NAME DocPlatform Имя автора для auto-commit
GIT_COMMIT_EMAIL docplatform@local Email автора для auto-commit

Email (опционально)

Настройте SMTP для приглашений в workspace и email-сброса пароля. Без SMTP токены выводятся в stdout (логи сервера).

Переменная По умолчанию Описание
SMTP_HOST Имя хоста SMTP-сервера (например, smtp.gmail.com)
SMTP_PORT 587 Порт SMTP (587 для STARTTLS, 465 для SSL)
SMTP_FROM Email-адрес отправителя (например, [email protected])
SMTP_USERNAME Имя пользователя для SMTP-аутентификации
SMTP_PASSWORD Пароль для SMTP-аутентификации

Резервные копии

Переменная По умолчанию Описание
BACKUP_ENABLED true Включить ежедневное автоматическое резервное копирование SQLite
BACKUP_RETENTION_DAYS 7 Количество дней хранения файлов резервных копий. Старые резервные копии удаляются автоматически.
BACKUP_DIR {DATA_DIR}/backups Директория для файлов резервных копий

Телеметрия

Переменная По умолчанию Описание
DOCPLATFORM_TELEMETRY off Установите on для включения анонимных, opt-in метрик использования. При включении еженедельно отправляется SHA-256 install ID (без персональных данных).
DOCPLATFORM_TELEMETRY_ENDPOINT Пользовательский endpoint для телеметрии (расширенная настройка — для изолированных сред с внутренней аналитикой)

Что отправляет телеметрия (при включении)

  • SHA-256 install ID (вычисляется из директории данных, необратимый)
  • Количество workspaces и общее количество страниц
  • Версия DocPlatform
  • ОС и архитектура

Телеметрия никогда не отправляет: контент страниц, email пользователей, IP-адреса, имена файлов или любые персональные данные. Частота: еженедельно.

Обработка frontmatter

Переменная По умолчанию Описание
FRONTMATTER_ERROR_MODE strict Как обрабатывать невалидный YAML frontmatter: strict ограничивает страницу только admin-доступом (предотвращает случайное раскрытие); lenient сохраняет последний корректный frontmatter и показывает предупреждение.

Использование файла .env

Создайте файл .env в директории, где запускаете docplatform serve:

# .env
PORT=8080
DATA_DIR=/var/lib/docplatform
GIT_SSH_KEY_PATH=/etc/docplatform/deploy_key
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_FROM=[email protected]
SMTP_USERNAME=[email protected]
SMTP_PASSWORD=app-specific-password
BACKUP_RETENTION_DAYS=30

DocPlatform загружает файл .env автоматически. Переменные окружения, установленные в оболочке, имеют приоритет над значениями из .env.

Окружение Docker

Передавайте переменные окружения в Docker с помощью флагов -e или файла env:

docker run -d \
  --name docplatform \
  -p 3000:3000 \
  -v docplatform-data:/data \
  -e DATA_DIR=/data \
  -e SMTP_HOST=smtp.example.com \
  -e SMTP_FROM=[email protected] \
  --env-file .env.production \
  ghcr.io/valoryx-org/docplatform:latest

Замечания по безопасности

  • Никогда не коммитьте файлы .env в систему контроля версий. Добавьте .env в .gitignore.
  • JWT-ключи генерируются автоматически. Для ротации удалите файл ключа и перезапустите сервер — новый ключ будет сгенерирован, и все существующие сессии будут инвалидированы.
  • Пароли SMTP — используйте app-specific пароли или API-ключи, а не основной пароль учетной записи.
  • Git-токены — используйте токены с ограниченными правами для репозитория с минимальными разрешениями (чтение + запись для синхронизации).