Ctrl K
ComunidadGuías…

docker-compose.single.yml

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

Archivo original ↗Preguntar a KiBot
# Oneirodex — single container (PostgreSQL embedded).
#
#   cp .env.single.example .env   # configure persistent paths first
#   docker compose -f docker-compose.single.yml up -d
#
# PostgreSQL and generated secrets live under /config. Existing app settings can
# be supplied with APP_ENV_FILE (default .env). For a separate Postgres service,
# use docker-compose.yml.
services:
  oneirodex:
    build:
      context: .
      dockerfile: Dockerfile
      args:
        ONEIRODEX_BUILD_SHA: ${ONEIRODEX_BUILD_SHA:-}
        ONEIRODEX_BUILT_AT: ${ONEIRODEX_BUILT_AT:-}
    image: ${APP_IMAGE:-oneirodex:1.1.9}
    container_name: ${APP_CONTAINER_NAME:-oneirodex-app}
    restart: unless-stopped
    ports:
      - "5006:5006"
    env_file:
      - ${APP_ENV_FILE:-.env}
    environment:
      ONEIRODEX_EMBEDDED_DB: "true"
      ONEIRODEX_CONFIG_DIR: /config
      DATABASE_URL: ""
      DATABASE_HOST: ""
      DATABASE_PORT: ""
      POSTGRES_DB: ${POSTGRES_DB:-oneirodex}
      PUID: ${PUID:-99}
      PGID: ${PGID:-100}
      TZ: ${TZ:-UTC}
      DATA_FOLDER_GAMES: /storage
      UPLOAD_FOLDER: /app/oneirodex/static/library
      # Secure cookies are required by default; set false only for deliberate
      # direct-HTTP LAN/development access (cookies can then cross the network).
      SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE:-true}
      REMEMBER_COOKIE_SECURE: ${REMEMBER_COOKIE_SECURE:-true}
      CHAT_ATTACHMENT_STORAGE_MAX_BYTES: ${CHAT_ATTACHMENT_STORAGE_MAX_BYTES:-1073741824}
      CHAT_ATTACHMENT_STORAGE_MAX_FILES: ${CHAT_ATTACHMENT_STORAGE_MAX_FILES:-10000}
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - "${APPDATA_PATH:-./appdata}:/config"
      - "${DATA_FOLDER_GAMES:-./games}:/storage:ro"
      - "${LIBRARY_HOST_PATH:-./data/library}:/app/oneirodex/static/library"
      - "${WEBRETRO_CORES_HOST_PATH:-./data/webretro-cores}:/app/oneirodex/static/vendor/webretro/cores"
    stop_grace_period: 60s
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:5006/awake || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 90s