# File: share/np-dms/n8n/docker-compose-lcbp3-n8n.yml # DMS Container v1_8_0 แยก service และ folder, Application name:n8n service n8n x-restart: &restart_policy restart: unless-stopped x-logging: &default_logging logging: driver: "json-file" options: max-size: "10m" max-file: "5" services: n8n-db: <<: [*restart_policy, *default_logging] image: postgres:16-alpine container_name: n8n-db environment: - POSTGRES_USER=n8n - POSTGRES_PASSWORD=Np721220$ - POSTGRES_DB=n8n volumes: - "/share/np-dms/n8n/postgres-data:/var/lib/postgresql/data" networks: lcbp3: {} healthcheck: test: ['CMD-SHELL', 'pg_isready -h localhost -U n8n -d n8n'] interval: 10s timeout: 5s retries: 5 n8n: <<: [*restart_policy, *default_logging] image: n8nio/n8n:latest container_name: n8n stdin_open: true tty: true depends_on: n8n-db: condition: service_healthy deploy: resources: limits: cpus: "1.5" memory: 2G reservations: cpus: "0.25" memory: 512M environment: TZ: "Asia/Bangkok" NODE_ENV: "production" # N8N_PATH: "/n8n/" N8N_PUBLIC_URL: "https://n8n.np-dms.work/" WEBHOOK_URL: "https://n8n.np-dms.work/" N8N_EDITOR_BASE_URL: "https://n8n.np-dms.work/" N8N_PROTOCOL: "https" N8N_HOST: "n8n.np-dms.work" N8N_PORT: 5678 N8N_PROXY_HOPS: "1" N8N_DIAGNOSTICS_ENABLED: 'false' N8N_SECURE_COOKIE: 'true' N8N_ENCRYPTION_KEY: "9AAIB7Da9DW1qAhJE5/Bz4SnbQjeAngI" N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: 'true' GENERIC_TIMEZONE: "Asia/Bangkok" # DB Setup DB_TYPE: postgresdb DB_POSTGRESDB_DATABASE: n8n DB_POSTGRESDB_HOST: n8n-db DB_POSTGRESDB_PORT: 5432 DB_POSTGRESDB_USER: n8n DB_POSTGRESDB_PASSWORD: Np721220$ # Data Prune EXECUTIONS_DATA_PRUNE: 'true' EXECUTIONS_DATA_MAX_AGE: 168 EXECUTIONS_DATA_PRUNE_TIMEOUT: 60 ports: - "5678:5678" networks: lcbp3: {} volumes: - "/share/np-dms/n8n:/home/node/.n8n" - "/share/np-dms/n8n/cache:/home/node/.cache" - "/share/np-dms/n8n/scripts:/scripts" - "/share/np-dms/n8n/data:/data" - "/var/run/docker.sock:/var/run/docker.sock" # read-only: อ่านไฟล์ PDF ต้นฉบับเท่านั้น - "/share/np-dms-as/Legacy:/share/np-dms/staging_ai:ro" # read-write: เขียน Log และ CSV ทั้งหมด - "/share/np-dms/n8n/migration_logs:/share/np-dms/n8n/migration_logs:rw" healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/healthz || exit 1"] interval: 30s timeout: 10s start_period: 60s retries: 5 networks: lcbp3: external: true # สำหรับ n8n volumes # chown -R 1000:1000 /share/np-dms/n8n # chmod -R 755 /share/np-dms/n8n3 # chown -R 999:999 /share/np-dms/n8n/postgres-data # chmod -R 700 /share/np-dms/n8n/postgres-data