Змінні середовища
DocPlatform зчитує конфігурацію зі змінних середовища. Встановіть їх в оболонці, у файлі .env в робочій директорії або в оркестраторі контейнерів.
Сервер
| Змінна | За замовчуванням | Опис |
|---|---|---|
PORT |
3000 |
HTTP порт прослуховування |
HOST |
0.0.0.0 |
HTTP адреса прослуховування. Встановіть 127.0.0.1, щоб обмежити лише localhost. |
DATA_DIR |
.docplatform |
Коренева директорія для всіх даних DocPlatform (база даних, резервні копії, робочі простори, ключі) |
BASE_DOMAIN |
— | Власний домен для опублікованої документації (наприклад, docs.yourcompany.com). Коли встановлено, опублікована документація використовує цей домен для канонічних URL та записів sitemap. |
PUBLISH_REQUIRE_AUTH |
false |
Коли true, усі опубліковані документаційні сайти вимагають, щоб відвідувач був автентифікований як учасник робочого простору. Неавтентифіковані відвідувачі перенаправляються на сторінку входу та повертаються на оригінальну сторінку після входу. |
Автентифікація
| Змінна | За замовчуванням | Опис |
|---|---|---|
JWT_SECRET_PATH |
{DATA_DIR}/jwt-key.pem |
Шлях до приватного ключа RS256 для підпису JWT. Автоматично генерується при першому запуску, якщо відсутній. |
JWT_ACCESS_TTL |
900 |
Час життя токена доступу в секундах (за замовчуванням: 15 хвилин) |
JWT_REFRESH_TTL |
2592000 |
Час життя токена оновлення в секундах (за замовчуванням: 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 окремого робочого простору. Встановіть 0 для синхронізації лише через webhook (без polling). |
GIT_AUTO_COMMIT |
true |
Поведінка автоматичної фіксації за замовчуванням. Перевизначається значенням git_auto_commit окремого робочого простору. |
GIT_WEBHOOK_SECRET |
— | Спільний секрет для перевірки webhook payload (HMAC-SHA256) від GitHub, GitLab або Bitbucket. |
GIT_COMMIT_NAME |
DocPlatform |
Ім’я committer для автоматичних комітів |
GIT_COMMIT_EMAIL |
docplatform@local |
Email committer для автоматичних комітів |
Email (опціонально)
Налаштуйте SMTP для запрошень до робочих просторів та email-листів скидання пароля. Без SMTP токени виводяться в stdout (логи сервера).
| Змінна | За замовчуванням | Опис |
|---|---|---|
SMTP_HOST |
— | Ім’я хоста SMTP сервера (наприклад, smtp.gmail.com) |
SMTP_PORT |
587 |
SMTP порт (587 для STARTTLS, 465 для SSL) |
SMTP_FROM |
— | Адреса електронної пошти відправника (наприклад, [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, щоб увімкнути анонімні, опціональні метрики використання. Коли увімкнено, SHA-256 ідентифікатор інсталяції (без персональної інформації) надсилається щотижня. |
DOCPLATFORM_TELEMETRY_ENDPOINT |
— | Власний ендпоінт для даних телеметрії (розширене — для ізольованих середовищ із внутрішньою аналітикою) |
Що надсилає телеметрія (коли увімкнена)
- SHA-256 ідентифікатор інсталяції (отриманий з директорії даних, незворотний)
- Кількість робочих просторів та загальна кількість сторінок
- Версія DocPlatform
- ОС та архітектура
Телеметрія ніколи не надсилає: контент сторінок, email користувачів, IP-адреси, імена файлів або будь-яку персональну інформацію. Частота: щотижня.
Обробка frontmatter
| Змінна | За замовчуванням | Опис |
|---|---|---|
FRONTMATTER_ERROR_MODE |
strict |
Як обробляти некоректний YAML frontmatter: strict обмежує сторінку доступом лише для адміністраторів (запобігає випадковому розкриттю); 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 — використовуйте специфічні для додатків паролі або API ключі, а не пароль основного облікового запису.
- Git токени — використовуйте токени з обмеженою областю дії для репозиторію та мінімальними правами (читання + запис для синхронізації).