networks: traefik-net: external: true name: traefik-net x-traefik: &x-traefik networks: - traefik-net - default volumes: redis-data: name: redis-data paperless-database-data: name: paperless-database-data services: redis: image: docker.io/library/redis:7 volumes: - redis-data:/data db: image: docker.io/library/postgres:16 volumes: - paperless-database-data:/var/lib/postgresql/data environment: POSTGRES_DB: ${PAPERLESS_DBNAME} POSTGRES_USER: ${PAPERLESS_DBUSER} POSTGRES_PASSWORD: ${PAPERLESS_DBPASS} paperless: image: ghcr.io/paperless-ngx/paperless-ngx:2.12 depends_on: - db - redis volumes: - ${STORAGE_LOCATION}/data:/usr/src/paperless/data - ${STORAGE_LOCATION}/media:/usr/src/paperless/media - ${STORAGE_LOCATION}/export:/usr/src/paperless/export - ${STORAGE_LOCATION}/consume:/usr/src/paperless/consume env_file: - .env <<: *x-traefik deploy: labels: - traefik.enable=true - traefik.docker.network=traefik-net - traefik.http.routers.paperless.rule=Host(`${HOST}`) - traefik.http.routers.paperless.entrypoints=${ENTRYPOINTS:-websecure} - traefik.http.routers.paperless.tls.certresolver=le - traefik.http.services.paperless.loadbalancer.server.port=8000