version: "3.9" networks: document_network: driver: bridge services: # --- DOCUMENT MANAGEMENT --- paperless-ngx: image: ghcr.io/paperless-ngx/paperless-ngx:latest container_name: paperless-ngx depends_on: [redis, db] environment: - USERMAP_UID=1026 - USERMAP_GID=100 - PAPERLESS_REDIS=redis://redis:6379 - PAPERLESS_DBHOST=db - PAPERLESS_DBPASS=Alexis74!patmos - PAPERLESS_SECRET_KEY=Alexis74!patmos - PAPERLESS_TIME_ZONE=Europe/Zurich - PAPERLESS_OCR_LANGUAGE=deu - PAPERLESS_OCR_LANGUAGES=ell eng spa - PAPERLESS_CONSUMER_POLLING=10 - PAPERLESS_FILES_FRIENDLY_DIRECTORY_NAME=YES - PAPERLESS_CHOWN_NO_FAILURE=YES - PAPERLESS_CONSUMER_KEEP_ORIGINALS=true - PAPERLESS_CONSUMER_RECURSIVE=true - PAPERLESS_CSRF_TRUSTED_ORIGINS=https://paperless.haldenstrasse.schillinger.one - PAPERLESS_ALLOWED_HOSTS=paperless.haldenstrasse.schillinger.one,192.168.1.14,paperless-ngx - PAPERLESS_URL=https://paperless.haldenstrasse.schillinger.one - PAPERLESS_CORS_ALLOWED_HOSTS=https://paperless.haldenstrasse.schillinger.one,http://paperless-ngx:8000 volumes: - /home/marc/paperless-stack/paperless:/usr/src/paperless/data - /mnt/synology/media:/usr/src/paperless/media - /mnt/synology/consume:/usr/src/paperless/consume networks: - document_network ports: - 8010:8000 # --- BACKEND DATABASE --- db: image: postgres:15 container_name: db environment: - POSTGRES_DB=paperless - POSTGRES_USER=paperless - POSTGRES_PASSWORD=Alexis74!patmos volumes: - /home/marc/paperless-stack/pgdata:/var/lib/postgresql/data networks: - document_network # --- CACHE --- redis: image: redis:7 container_name: redis networks: - document_network # --- ORCHESTRATOR --- n8n: image: n8nio/n8n:latest container_name: n8n environment: - N8N_ENCRYPTION_KEY=Alexis74!patmos - N8N_HOST=n8n - NODE_ENV=production - N8N_SECURE_COOKIE=false volumes: - /home/marc/paperless-stack/n8n:/home/node/.n8n networks: - document_network ports: - 5678:5678 # --- AI ENHANCEMENT --- paperless-ai: image: clusterzx/paperless-ai:latest container_name: paperless-ai restart: unless-stopped ports: - 3010:3000 volumes: - /home/marc/paperless-stack/paperless-ai_data:/app/data environment: # Use the internal service name with the /api suffix - PAPERLESS_API_URL=http://paperless-ngx:8000/api - PAPERLESS_API_TOKEN=cfdd434a740a4632010db1f706e9440ceeffa27c # AI Provider Settings - AI_PROVIDER=openai - OPENAI_API_KEY=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 - AI_MODEL=gpt-4o-mini - AI_EMBEDDING_MODEL=text-embedding-3-small extra_hosts: - "host.docker.internal:host-gateway" networks: - document_network depends_on: - paperless-ngx