63 lines
2.0 KiB
YAML
63 lines
2.0 KiB
YAML
services:
|
|
paperless_ngx_valkey:
|
|
container_name: paperless_ngx_valkey
|
|
image: docker.io/valkey/valkey:8.1.3
|
|
restart: unless-stopped
|
|
command: valkey-server --save 60 1 --requirepass ${VALKEY_PASSWORD}
|
|
volumes:
|
|
- ${APPDATA_PATH}/paperless-ngx/valkey:/data
|
|
ports:
|
|
- ${VALKEY_PORT}:6379
|
|
networks:
|
|
- backend
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "echo 'auth ${VALKEY_PASSWORD}\nping' | valkey-cli | grep PONG"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
paperless_ngx_server:
|
|
container_name: paperless_ngx_server
|
|
image: ghcr.io/paperless-ngx/paperless-ngx:2.17.1
|
|
restart: unless-stopped
|
|
depends_on:
|
|
paperless_ngx_valkey:
|
|
condition: service_healthy
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.paperless_ngx_server.rule=Host(`${TRAEFIK_DOMAIN}`)
|
|
- traefik.http.routers.paperless_ngx_server.entrypoints=${TRAEFIK_ENTRYPOINT}
|
|
- traefik.http.services.paperless_ngx_server.loadbalancer.server.port=8000
|
|
- traefik.docker.network=frontend
|
|
environment:
|
|
- USERMAP_UID=${PUID}
|
|
- USERMAP_GID=${PGID}
|
|
- PAPERLESS_TIME_ZONE=${TZ}
|
|
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY}
|
|
- PAPERLESS_URL=https://${TRAEFIK_DOMAIN}
|
|
- PAPERLESS_REDIS=redis://paperless_ngx_valkey:6379
|
|
- PAPERLESS_FILENAME_FORMAT={correspondent}/{created_year}/{title}
|
|
- PAPERLESS_OCR_DESKEW=false
|
|
volumes:
|
|
- ${APPDATA_PATH}/paperless-ngx/data:/usr/src/paperless/data
|
|
- ${APPDATA_PATH}/paperless-ngx/media:/usr/src/paperless/media
|
|
- ${APPDATA_PATH}/paperless-ngx/export:/usr/src/paperless/export
|
|
- ${APPDATA_PATH}/paperless-ngx/consume:/usr/src/paperless/consume
|
|
ports:
|
|
- ${SERVER_PORT}:8000
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
networks:
|
|
frontend:
|
|
external: true
|
|
backend:
|
|
external: true
|