-
-
Save MexsonFernandes/c3961545eca9fe421a2179641710baf9 to your computer and use it in GitHub Desktop.
N8N docker compose Setup on Ubuntu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The top level domain to serve from | |
DOMAIN_NAME=puffinflock.com | |
# The subdomain to serve from | |
SUBDOMAIN=n8n | |
# DOMAIN_NAME and SUBDOMAIN combined decide where n8n will be reachable from | |
DOMAIN_NAME=domain.com | |
# Optional timezone to set which gets used by Cron-Node by default | |
# If not set New York time will be used | |
GENERIC_TIMEZONE=America/New_York | |
# The email address to use for the SSL certificate creation | |
[email protected] | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.7" | |
services: | |
traefik: | |
image: "traefik" | |
restart: always | |
command: | |
- "--api=true" | |
- "--api.insecure=true" | |
- "--providers.docker=true" | |
- "--providers.docker.exposedbydefault=false" | |
- "--entrypoints.web.address=:80" | |
- "--entrypoints.web.http.redirections.entryPoint.to=websecure" | |
- "--entrypoints.web.http.redirections.entrypoint.scheme=https" | |
- "--entrypoints.websecure.address=:443" | |
- "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true" | |
- "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}" | |
- "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json" | |
ports: | |
- "80:80" | |
- "443:443" | |
volumes: | |
- traefik_data:/letsencrypt | |
- /var/run/docker.sock:/var/run/docker.sock:ro | |
n8n: | |
image: docker.n8n.io/n8nio/n8n:1.98.0 | |
restart: always | |
ports: | |
- "127.0.0.1:5678:5678" | |
labels: | |
- traefik.enable=true | |
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`) | |
- traefik.http.routers.n8n.tls=true | |
- traefik.http.routers.n8n.entrypoints=web,websecure | |
- traefik.http.routers.n8n.tls.certresolver=mytlschallenge | |
- traefik.http.middlewares.n8n.headers.SSLRedirect=true | |
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000 | |
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true | |
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true | |
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true | |
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME} | |
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true | |
- traefik.http.middlewares.n8n.headers.STSPreload=true | |
- traefik.http.routers.n8n.middlewares=n8n@docker | |
environment: | |
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME} | |
- N8N_PORT=5678 | |
- N8N_PROTOCOL=https | |
- NODE_ENV=production | |
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/ | |
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE} | |
- N8N_LOG_LEVEL=debug | |
- N8N_LOG_OUTPUT=console,file | |
- N8N_LOG_FILE_LOCATION=/home/node/n8n/logs/n8n.log | |
- N8N_LOG_FILE_MAXSIZE=50 | |
- N8N_LOG_FILE_MAXCOUNT=50 | |
volumes: | |
- n8n_data:/home/node/.n8n | |
- /local-files:/files | |
volumes: | |
traefik_data: | |
external: true | |
n8n_data: | |
external: true | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment