docker-compose.single.yml
Rama main · réplica de lectura del repositorio original.
# 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