Variables de entorno
DocPlatform lee la configuración de variables de entorno. Establézcalas en su shell, un archivo .env en el directorio de trabajo o su orquestador de contenedores.
Servidor
| Variable | Predeterminado | Descripción |
|---|---|---|
PORT |
3000 |
Puerto de escucha HTTP |
HOST |
0.0.0.0 |
Dirección de escucha HTTP. Establezca 127.0.0.1 para restringir a localhost. |
DATA_DIR |
.docplatform |
Directorio raíz para todos los datos de DocPlatform (base de datos, copias de seguridad, workspaces, claves) |
BASE_DOMAIN |
— | Dominio personalizado para documentación publicada (por ejemplo, docs.yourcompany.com). Cuando se establece, la documentación publicada usa este dominio para URLs canónicas y entradas del sitemap. |
PUBLISH_REQUIRE_AUTH |
false |
Cuando es true, todos los sitios de documentación publicada requieren que el visitante haya iniciado sesión como miembro del workspace. Los visitantes no autenticados son redirigidos a la página de inicio de sesión y devueltos a la página original después de iniciar sesión. |
Autenticación
| Variable | Predeterminado | Descripción |
|---|---|---|
JWT_SECRET_PATH |
{DATA_DIR}/jwt-key.pem |
Ruta a la clave privada RS256 para firma JWT. Se auto-genera en la primera ejecución si no existe. |
JWT_ACCESS_TTL |
900 |
Tiempo de vida del token de acceso en segundos (predeterminado: 15 minutos) |
JWT_REFRESH_TTL |
2592000 |
Tiempo de vida del token de actualización en segundos (predeterminado: 30 días) |
Proveedores OIDC (opcional)
Habilite el inicio de sesión con Google y/o GitHub configurando estas variables. Cuando no están configuradas, solo está disponible la autenticación local (correo electrónico + contraseña).
| Variable | Predeterminado | Descripción |
|---|---|---|
OIDC_GOOGLE_CLIENT_ID |
— | ID de cliente OAuth 2.0 de Google |
OIDC_GOOGLE_CLIENT_SECRET |
— | Secreto de cliente OAuth 2.0 de Google |
OIDC_GITHUB_CLIENT_ID |
— | ID de cliente OAuth de GitHub |
OIDC_GITHUB_CLIENT_SECRET |
— | Secreto de cliente OAuth de GitHub |
Consulte Autenticación para instrucciones de configuración.
Git
| Variable | Predeterminado | Descripción |
|---|---|---|
GIT_SSH_KEY_PATH |
~/.ssh/docplatform_deploy_key |
Ruta a la clave privada SSH para operaciones git. Requerida para repositorios privados a través de SSH. |
GIT_SYNC_INTERVAL |
300 |
Intervalo de polling predeterminado en segundos para sincronización remota (mínimo: 10). Anulado por sync_interval del workspace. Establezca 0 para sincronización solo por webhook (sin polling). |
GIT_AUTO_COMMIT |
true |
Comportamiento predeterminado de auto-commit. Anulado por git_auto_commit del workspace. |
GIT_WEBHOOK_SECRET |
— | Secreto compartido para verificar payloads de webhook (HMAC-SHA256) de GitHub, GitLab o Bitbucket. |
GIT_COMMIT_NAME |
DocPlatform |
Nombre del committer git para auto-commits |
GIT_COMMIT_EMAIL |
docplatform@local |
Correo electrónico del committer git para auto-commits |
Correo electrónico (opcional)
Configure SMTP para invitaciones al workspace y correos electrónicos de restablecimiento de contraseña. Sin SMTP, los tokens se imprimen en stdout (logs del servidor).
| Variable | Predeterminado | Descripción |
|---|---|---|
SMTP_HOST |
— | Nombre de host del servidor SMTP (por ejemplo, smtp.gmail.com) |
SMTP_PORT |
587 |
Puerto SMTP (587 para STARTTLS, 465 para SSL) |
SMTP_FROM |
— | Dirección de correo electrónico del remitente (por ejemplo, [email protected]) |
SMTP_USERNAME |
— | Nombre de usuario de autenticación SMTP |
SMTP_PASSWORD |
— | Contraseña de autenticación SMTP |
Copias de seguridad
| Variable | Predeterminado | Descripción |
|---|---|---|
BACKUP_ENABLED |
true |
Habilitar copias de seguridad diarias automatizadas de SQLite |
BACKUP_RETENTION_DAYS |
7 |
Número de días para retener archivos de copia de seguridad. Las copias de seguridad más antiguas se eliminan automáticamente. |
BACKUP_DIR |
{DATA_DIR}/backups |
Directorio para archivos de copia de seguridad |
Telemetría
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCPLATFORM_TELEMETRY |
off |
Establezca on para habilitar métricas de uso anónimas y opcionales. Cuando está habilitado, se envía semanalmente un ID de instalación SHA-256 (sin información personal identificable). |
DOCPLATFORM_TELEMETRY_ENDPOINT |
— | Endpoint personalizado para datos de telemetría (avanzado — para entornos aislados con analíticas internas) |
Qué envía la telemetría (cuando está habilitada)
- ID de instalación SHA-256 (derivado del directorio de datos, no reversible)
- Conteo de workspaces y conteo total de páginas
- Versión de DocPlatform
- SO y arquitectura
La telemetría nunca envía: contenido de páginas, correos electrónicos de usuarios, direcciones IP, nombres de archivos ni información personal identificable. Frecuencia: semanal.
Manejo de frontmatter
| Variable | Predeterminado | Descripción |
|---|---|---|
FRONTMATTER_ERROR_MODE |
strict |
Cómo manejar frontmatter YAML inválido: strict restringe la página a acceso solo para administradores (previene exposición accidental); lenient mantiene el último frontmatter válido conocido y muestra una advertencia. |
Uso de un archivo .env
Cree un archivo .env en el directorio donde ejecuta 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 carga el archivo .env automáticamente. Las variables de entorno configuradas en el shell tienen precedencia sobre los valores del .env.
Entorno Docker
Pase variables de entorno a Docker con flags -e o un archivo 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
Notas de seguridad
- Nunca haga commit de archivos
.enval control de versiones. Agregue.enva su.gitignore. - Las claves JWT se auto-generan. Si necesita rotarlas, elimine el archivo de clave y reinicie — se genera una nueva clave y todas las sesiones existentes se invalidan.
- Contraseñas SMTP — use contraseñas específicas de la aplicación o claves API, no la contraseña de su cuenta principal.
- Tokens de git — use tokens con alcance de repositorio con permisos mínimos (lectura + escritura para sincronización).