version: "3.6" services: broker: image: redis:6.2 restart: always volumes: - ${STORAGE_BASE_PATH}/paperedis:/data networks: - paperless db: image: postgres:14 restart: always volumes: - ${STORAGE_BASE_PATH}/paperdb:/var/lib/postgresql/data environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless networks: - paperless webserver: image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: always depends_on: - db - broker ports: - 8777:8000 volumes: - ${STORAGE_BASE_PATH}/data:/usr/src/paperless/data - ${STORAGE_BASE_PATH}/media:/usr/src/paperless/media - ${STORAGE_BASE_PATH}/export:/usr/src/paperless/export - ${STORAGE_BASE_PATH}/consume:/usr/src/paperless/consume environment: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBHOST: db USERMAP_UID: 1000 USERMAP_GID: 1000 PAPERLESS_TIME_ZONE: Europe/Berlin PAPERLESS_ADMIN_USER: ${ADMIN_USER} PAPERLESS_ADMIN_PASSWORD: ${ADMIN_PWD} PAPERLESS_OCR_LANGUAGE: deu+eng PAPERLESS_URL: https://${DOMAIN_URL} # generate this for each installation PAPERLESS_SECRET_KEY: A2NVnENcGDYyFKaZsxc4amAU4isAP labels: - "traefik.enable=true" - "traefik.http.routers.webserver.entrypoints=websecure" - "traefik.http.routers.webserver.rule=Host(`${DOMAIN_URL}`)" - "traefik.http.routers.webserver.tls=true" - "traefik.http.routers.webserver.tls.certresolver=default" - "traefik.http.routers.webserver.middlewares=secHeaders@file" - "traefik.http.services.webserver.loadbalancer.server.port=8000" networks: - paperless - traefik_proxy networks: paperless: traefik_proxy: external: name: traefik_proxy volumes: data: media: pgdata: redisdata: