#### NETWORKS networks: traefik_front_network: external: true back_network_paperless: driver: bridge attachable: true #### SERVICES services: ### broker: container_name: paperless-broker hostname: paperless-broker image: docker.io/library/redis:7 restart: unless-stopped volumes: - ./redisdata:/data networks: - back_network_paperless labels: - "com.centurylinklabs.watchtower.enable=true" ### postgres db: container_name: paperless-postgres hostname: paperless-postgres image: docker.io/library/postgres:16 restart: unless-stopped volumes: - ./pgdata:/var/lib/postgresql/data networks: - back_network_paperless environment: PGDATA: /var/lib/postgresql/data/paperless POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless labels: - "com.centurylinklabs.watchtower.enable=true" ### paperless-ngx webserver: container_name: paperless-app hostname: paperless-app image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: unless-stopped depends_on: - db - broker - gotenberg - tika volumes: - ./data:/usr/src/paperless/data - ./media:/usr/src/paperless/media - ./export:/usr/src/paperless/export - ./consume:/usr/src/paperless/consume env_file: docker-compose.env networks: - back_network_paperless - traefik_front_network environment: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBHOST: db PAPERLESS_TIKA_ENABLED: 1 PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 PAPERLESS_TIKA_ENDPOINT: http://tika:9998 labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" - "traefik.docker.network=traefik_front_network" # HTTP - "traefik.http.routers.paperless-http.rule=Host(`paperless.tips-of-mine.com`)" - "traefik.http.routers.paperless-http.entrypoints=http" # HTTPS - "traefik.http.routers.paperless-https.rule=Host(`paperless.tips-of-mine.com`)" - "traefik.http.routers.paperless-https.entrypoints=https" - "traefik.http.routers.paperless-https.service=paperless-service" - "traefik.http.routers.paperless-https.tls=true" # Middleware # Service - "traefik.http.services.paperless-service.loadbalancer.server.port=8000" ### gotenberg: container_name: paperless-gotenberg hostname: paperless-gotenberg image: docker.io/gotenberg/gotenberg:8.7 restart: unless-stopped networks: - back_network_paperless # The gotenberg chromium route is used to convert .eml files. We do not # want to allow external content like tracking pixels or even javascript. command: - "gotenberg" - "--chromium-disable-javascript=true" - "--chromium-allow-list=file:///tmp/.*" labels: - "com.centurylinklabs.watchtower.enable=true" ### tika: container_name: paperless-tika hostname: paperless-tika image: docker.io/apache/tika:latest restart: unless-stopped networks: - back_network_paperless labels: - "com.centurylinklabs.watchtower.enable=true" ### msmtpd: container_name: paperless-msmtpd hostname: paperless-msmtpd image: crazymax/msmtpd:latest networks: - back_network_paperless environment: - "TZ=Europe/Paris" - "PUID=1500" - "PGID=1500" - "SMTP_HOST=10.0.4.52" - "SMTP_PORT=587" - "SMTP_TLS=on" - "SMTP_STARTTLS=on" - "SMTP_TLS_CHECKCERT=off" - "SMTP_AUTH=on" - "SMTP_USER=hostinfo@tips-of-mine.fr" - "SMTP_PASSWORD=P@ssw0rd!12345+" - "SMTP_DOMAIN=localhost" - "SMTP_FROM=hostinfo@tips-of-mine.fr" restart: always healthcheck: test: ["CMD-SHELL", "echo EHLO localhost"] interval: 5s timeout: 5s retries: 5 labels: - "com.centurylinklabs.watchtower.enable=true"