Files
ansible/roles/docker/templates/paperlessngx-compose.yml.j2
Phil e1b6d3132a feat: update service versions and add backup configurations
- Update Authentik to 2025.6.4
- Update Dawarich and Karakeep to latest versions
- Add Paperless-NGX backup with S3 storage
- Improve GoToSocial backup configuration with better naming and retention
- Add dockcheck update labels for automated container monitoring

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-08 17:26:16 -06:00

88 lines
2.4 KiB
Django/Jinja

services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
labels:
glance.parent: paperlessngx
glance.name: Redis
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
labels:
glance.name: Paperless NGX
glance.icon: si:paperlessngx
glance.url: https://{{ subdomains.paper }}/
glance.description: Document server
glance.id: paperlessngx
depends_on:
- 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
extra_hosts:
- '{{ subdomains.auth }}:{{ docker.hairpin_ip }}'
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_OCR_USER_ARGS: '{"invalidate_digital_signatures": true}'
gotenberg:
image: docker.io/gotenberg/gotenberg:8.7
labels:
glance.parent: paperlessngx
glance.name: Gotenburg
restart: unless-stopped
# 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:
image: docker.io/apache/tika:latest
labels:
glance.parent: paperlessngx
glance.name: Tika
restart: unless-stopped
backup:
image: offen/docker-volume-backup:v2
restart: always
labels:
glance.parent: paperlessngx
glance.name: Backup
mag37.dockcheck.update: true
environment:
BACKUP_FILENAME: pngx-backup-%Y-%m-%dT%H-%M-%S.tar.gz
BACKUP_CRON_EXPRESSION: "10 9 * * *"
BACKUP_PRUNING_PREFIX: pngx-
BACKUP_RETENTION_DAYS: 7
AWS_S3_BUCKET_NAME: tsolbackups
AWS_ENDPOINT: s3.us-west-004.backblazeb2.com
AWS_ACCESS_KEY_ID: {{ vault_backup.access_key_id }}
AWS_SECRET_ACCESS_KEY: {{ vault_backup.secret_access_key }}
volumes:
- media:/backup/pngx-app-backup:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
data:
media:
redisdata:
networks:
default:
external: true
name: {{ docker.network_name }}