services: server: build: . restart: on-failure depends_on: - database user: ${CONTAINER_UID:-0}:${CONTAINER_GID:-0} volumes: - ./data/library:/app/data/library - ./data/thumbnails:/app/data/thumbnails environment: # ArkVault - DATABASE_HOST=database - DATABASE_USER=arkvault - DATABASE_PASSWORD=${DATABASE_PASSWORD:?} # Required - SESSION_SECRET=${SESSION_SECRET:?} # Required - SESSION_EXPIRES - USER_CLIENT_CHALLENGE_EXPIRES - SESSION_UPGRADE_CHALLENGE_EXPIRES - LIBRARY_PATH=/app/data/library - THUMBNAILS_PATH=/app/data/thumbnails # SvelteKit - ADDRESS_HEADER=${TRUST_PROXY:+X-Forwarded-For} - XFF_DEPTH=${TRUST_PROXY:-} - NODE_ENV=${NODE_ENV:-production} ports: - ${PORT:-80}:3000 database: image: postgres:17.2-alpine restart: on-failure user: ${CONTAINER_UID:-0}:${CONTAINER_GID:-0} volumes: - ./data/database:/var/lib/postgresql/data environment: - POSTGRES_USER=arkvault - POSTGRES_PASSWORD=${DATABASE_PASSWORD:?}