|
| 1 | +services: |
| 2 | + traefik: |
| 3 | + image: "traefik" |
| 4 | + restart: always |
| 5 | + command: |
| 6 | + - "--api.insecure=true" |
| 7 | + - "--providers.docker=true" |
| 8 | + - "--providers.docker.exposedbydefault=false" |
| 9 | + - "--entrypoints.web.address=:80" |
| 10 | + - "--entrypoints.web.http.redirections.entryPoint.to=websecure" |
| 11 | + - "--entrypoints.web.http.redirections.entrypoint.scheme=https" |
| 12 | + - "--entrypoints.websecure.address=:443" |
| 13 | + - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true" |
| 14 | + - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}" |
| 15 | + - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json" |
| 16 | + ports: |
| 17 | + - "80:80" |
| 18 | + - "443:443" |
| 19 | + volumes: |
| 20 | + - traefik_data:/letsencrypt |
| 21 | + - /var/run/docker.sock:/var/run/docker.sock:ro |
| 22 | + |
| 23 | + n8n: |
| 24 | + image: docker.n8n.io/n8nio/n8n |
| 25 | + restart: always |
| 26 | + ports: |
| 27 | + - "127.0.0.1:5678:5678" # access to n8n |
| 28 | + labels: |
| 29 | + - traefik.enable=true |
| 30 | + - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`) |
| 31 | + - traefik.http.routers.n8n.tls=true |
| 32 | + - traefik.http.routers.n8n.entrypoints=web,websecure |
| 33 | + - traefik.http.routers.n8n.tls.certresolver=mytlschallenge |
| 34 | + - traefik.http.middlewares.n8n.headers.SSLRedirect=true |
| 35 | + - traefik.http.middlewares.n8n.headers.STSSeconds=315360000 |
| 36 | + - traefik.http.middlewares.n8n.headers.browserXSSFilter=true |
| 37 | + - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true |
| 38 | + - traefik.http.middlewares.n8n.headers.forceSTSHeader=true |
| 39 | + - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME} |
| 40 | + - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true |
| 41 | + - traefik.http.middlewares.n8n.headers.STSPreload=true |
| 42 | + - traefik.http.routers.n8n.middlewares=n8n@docker |
| 43 | + environment: |
| 44 | + - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true |
| 45 | + - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME} |
| 46 | + - N8N_PORT=5678 |
| 47 | + - N8N_PROTOCOL=https |
| 48 | + - N8N_RUNNERS_ENABLED=true |
| 49 | + - NODE_ENV=production |
| 50 | + - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/ |
| 51 | + - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} |
| 52 | + - TZ=${GENERIC_TIMEZONE} |
| 53 | + volumes: |
| 54 | + - n8n_data:/home/node/.n8n |
| 55 | + - ./local-files:/files |
| 56 | + |
| 57 | +volumes: |
| 58 | + n8n_data: |
| 59 | + traefik_data: |
0 commit comments