homeserver/paperless/docker-compose.yaml

73 lines
2.1 KiB
YAML

services:
broker:
image: redis:${REDIS_VERSION}
restart: unless-stopped
networks:
- paperless
volumes:
- ${VOLUMES_PATH}/paperless/redis:/data
labels:
- "docker.group=paperless"
db:
image: postgres:${POSTGRES_VERSION}
restart: unless-stopped
networks:
- paperless
volumes:
- ${VOLUMES_PATH}/paperless/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
labels:
- "docker.group=paperless"
paperless-ngx:
image: ghcr.io/paperless-ngx/paperless-ngx:${PAPERLESS_NGX_VERSION}
restart: unless-stopped
networks:
- paperless
- web
depends_on:
- db
- broker
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ${VOLUMES_PATH}/paperless/data:/usr/src/paperless/data
- ./scripts:/usr/src/paperless/scripts
- ${MEDIA_PATH}:/usr/src/paperless/media
- ${EXPORT_PATH}:/usr/src/paperless/export
- ${CONSUME_PATH}:/usr/src/paperless/consume
environment:
- PAPERLESS_REDIS=redis://broker:6379
- PAPERLESS_DBHOST=db
- PAPERLESS_DBNAME=${POSTGRES_DB}
- PAPERLESS_DBUSER=${POSTGRES_USER}
- PAPERLESS_DBPASS=${POSTGRES_PASSWORD}
- PAPERLESS_OCR_LANGUAGES=deu eng
- PAPERLESS_URL=http://paperless.${DOMAIN}
- PAPERLESS_OCR_LANGUAGE=deu
- PAPERLESS_FILENAME_FORMAT={correspondent}/{created} {title}
- PAPERLESS_CONSUMER_POLLING=60
- USERMAP_UID=1000
- USERMAP_GID=1000
- PAPERLESS_PRE_CONSUME_SCRIPT=/usr/src/paperless/scripts/removePdfPassword.py
labels:
- "traefik.enable=true"
- "traefik.http.routers.paperless.rule=Host(`paperless.${DOMAIN}`)"
- "traefik.http.routers.paperless.entrypoints=web"
- "traefik.http.services.paperless.loadbalancer.server.port=8000"
- "traefik.docker.network=web"
- "docker.group=paperless"
networks:
paperless:
web:
external: true