Ctrl K
ComunidadGuías…

compose.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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