compose.yaml
Rama main · réplica de lectura del repositorio original.
services:
inkweld:
container_name: inkweld
build:
context: .
dockerfile: Dockerfile
environment:
- NODE_ENV=production
- PORT=${PORT:-8333}
- HOST=0.0.0.0
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-http://localhost:4200,http://localhost:8333}
- DB_TYPE=${DB_TYPE:-sqlite}
- DB_PATH=${DB_PATH:-/data/sqlite.db}
- DATA_PATH=${DATA_PATH:-/data/yjs}
# Required: signs every session cookie. Generate with: openssl rand -hex 32
- SESSION_SECRET=${SESSION_SECRET:?SESSION_SECRET is required - generate one with openssl rand -hex 32}
- SERVE_FRONTEND=${SERVE_FRONTEND:-true}
- GITHUB_ENABLED=${GITHUB_ENABLED:-false}
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-}
- OIDC_ENABLED=${OIDC_ENABLED:-false}
- OIDC_ONLY=${OIDC_ONLY:-false}
- OIDC_ISSUER_URL=${OIDC_ISSUER_URL:-}
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-}
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET:-}
- OIDC_CALLBACK_URL=${OIDC_CALLBACK_URL:-}
- USER_APPROVAL_REQUIRED=${USER_APPROVAL_REQUIRED:-true}
- TRUST_PROXY=${TRUST_PROXY:-false}
- WEBAUTHN_RP_ID=${WEBAUTHN_RP_ID:-localhost}
- WEBAUTHN_RP_NAME=${WEBAUTHN_RP_NAME:-Inkweld}
- PASSKEYS_ENABLED=${PASSKEYS_ENABLED:-true}
- PASSWORD_LOGIN_ENABLED=${PASSWORD_LOGIN_ENABLED:-false}
- EMAIL_RECOVERY_ENABLED=${EMAIL_RECOVERY_ENABLED:-false}
- APP_MODE=${APP_MODE:-BOTH}
- EMAIL_ENABLED=${EMAIL_ENABLED:-false}
- EMAIL_HOST=${EMAIL_HOST:-}
- EMAIL_PORT=${EMAIL_PORT:-587}
- EMAIL_ENCRYPTION=${EMAIL_ENCRYPTION:-starttls}
- EMAIL_USERNAME=${EMAIL_USERNAME:-}
- EMAIL_PASSWORD=${EMAIL_PASSWORD:-}
- EMAIL_FROM=${EMAIL_FROM:-}
- EMAIL_FROM_NAME=${EMAIL_FROM_NAME:-Inkweld}
volumes:
- inkweld_data:/data
ports:
- "${PORT:-8333}:8333"
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8333/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
inkweld_data:
# Persistent storage for SQLite database and Yjs documents