services: broker: image: docker.io/library/redis:8 restart: unless-stopped volumes: - redisdata:/data networks: - default db: image: docker.io/library/postgres:17 restart: unless-stopped volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless networks: - default service: labels: - traefik.enable=true - traefik.http.routers.paperless.entrypoints=websecure - traefik.http.routers.paperless.rule=Host(`paperless.rskio.com`) - traefik.http.routers.paperless.middlewares=secureHeaders@file - traefik.http.routers.paperless.tls=true - traefik.http.routers.paperless.tls.options=internal@file - traefik.http.routers.paperless.service=paperless@docker - traefik.http.services.paperless.loadbalancer.server.port=8000 - traefik.http.routers.paperless.tls.certresolver=rskio_certresolver image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: unless-stopped depends_on: - db - broker volumes: - data:/usr/src/paperless/data - media:/usr/src/paperless/media - ./export:/usr/src/paperless/export - ./consume:/usr/src/paperless/consume env_file: compose.env environment: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBHOST: db networks: - default - traefik volumes: data: media: pgdata: redisdata: networks: traefik: external: true default: {}