- 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>
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			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 }} |