commit 82f2606c87dac568766c87bf6507142c1a31173b Author: Ubuntu Date: Mon Jan 5 17:50:38 2026 +0000 Initial commit: Add compose file and ignore data folders diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0244501 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Ignore all directories (the data folders) +n8n/ +opensearch/ +paperless/ +paperless-ai_data/ +pgdata/ + +# Ignore system files +.DS_Store +*.log diff --git a/stack-compose.yaml b/stack-compose.yaml new file mode 100644 index 0000000..93de833 --- /dev/null +++ b/stack-compose.yaml @@ -0,0 +1,101 @@ +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