paperless-ngx/docker-compose.yml
hcornet f29cc11301
Some checks failed
Deployment Verification / deploy-and-test (push) Has been cancelled
first sync
2024-12-07 16:25:27 +01:00

130 lines
3.5 KiB
YAML

#### 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
### 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
### 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:
- "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/.*"
###
tika:
container_name: paperless-tika
hostname: paperless-tika
image: docker.io/apache/tika:latest
restart: unless-stopped
networks:
- back_network_paperless
###
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