commit e269c7cafc4afe2a85de2c548ff302906294d187 Author: theo Date: Sat Dec 27 08:01:03 2025 +0100 first commit diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..930321c --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +DOMAIN= +DATABASE_NAME= +DATABASE_USER= +DATABASE_PASSWORD= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e3d6dfa --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +data +logs +postgres +.env diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..52b3987 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,80 @@ +services: + n8n: + image: n8nio/n8n:latest + container_name: n8n + restart: unless-stopped + #ports: + # - "127.0.0.1:5678:5678" + environment: + N8N_HOST: ${DOMAIN} + N8N_PROTOCOL: https + WEBHOOK_URL: https://${DOMAIN} + GENERIC_TIMEZONE: Europe/Paris + DB_TYPE: postgresdb + DB_POSTGRESDB_HOST: postgres + DB_POSTGRESDB_DATABASE: ${DATABASE_NAME} + DB_POSTGRESDB_USER: ${DATABASE_USER} + DB_POSTGRESDB_PASSWORD: ${DATABASE_PASSWORD} + N8N_LOG_OUTPUT: console,file + N8N_LOG_FILE_LOCATION: /var/log/n8n/n8n.log + N8N_LOG_LEVEL: info + EXECUTIONS_PROCESS: main + EXECUTIONS_MODE: queue + QUEUE_BULL_REDIS_HOST: redis + QUEUE_BULL_REDIS_PORT: 6379 + N8N_PAYLOAD_SIZE_MAX: 16 + EXECUTIONS_DATA_PRUNE: true + EXECUTIONS_DATA_MAX_AGE: 168 + EXECUTIONS_DATA_SAVE_ON_ERROR: all + EXECUTIONS_DATA_SAVE_ON_SUCCESS: all + EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS: true + N8N_DEFAULT_BINARY_DATA_MODE: filesystem + EXECUTIONS_TIMEOUT: 3600 + EXECUTIONS_TIMEOUT_MAX: 7200 + N8N_SECURE_COOKIE: true + labels: + - "traefik.enable=true" + - "traefik.http.routers.n8n.rule=Host(`${DOMAIN}`)" + - "traefik.http.routers.n8n.entrypoints=websecure" + - "traefik.http.routers.n8n.tls.certresolver=letsencrypt" + - "traefik.http.services.n8n-backend.loadbalancer.server.port=5678" + volumes: + - ./data:/home/node/.n8n + - ./logs:/var/log/n8n + depends_on: + - postgres + - redis + networks: + - n8n-net + - traefik-net + + redis: + image: redis:7-alpine + container_name: n8n-redis + restart: unless-stopped + volumes: + - redis_data:/data + networks: + - n8n-net + + postgres: + image: postgres:15-alpine + container_name: n8n-postgres + restart: unless-stopped + environment: + POSTGRES_DB: ${DATABASE_NAME} + POSTGRES_USER: ${DATABASE_USER} + POSTGRES_PASSWORD: ${DATABASE_PASSWORD} + volumes: + - ./postgres:/var/lib/postgresql/data + networks: + - n8n-net + +volumes: + redis_data: + +networks: + n8n-net: + driver: bridge + traefik-net: + external: true