diff --git a/.gitignore b/.gitignore index 505a3b1..2477fc8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,67 @@ -# Python-generated files -__pycache__/ -*.py[oc] -build/ -dist/ -wheels/ -*.egg-info +# Ansible +*.retry +*.pyc +.ansible/ +.ansible_async/ +*.log -# Virtual environments -.venv +# Vault & secrets +vault-password +.vault-pass +*vault*.yml +!group_vars/*/vault.yml +!host_vars/*/vault.yml +.vault_pass.txt +secrets/ +*.pem +*.key +*.crt + +# Roles installed via ansible-galaxy +roles/external/ +roles/.galaxy/ +collections/ansible_collections/ + +# Inventory & host files (often have sensitive data) +inventory/hosts.local +inventory/local +hosts.local + +# Environment & local config +.env +.env.local +*.local.yml + +# Python (Ansible runs on Python) +__pycache__/ +*.py[cod] +.venv/ +venv/ +.python-version + +# uv/Poetry artifacts +uv.lock +pyproject.toml.bak + +# OS junk +.DS_Store +Thumbs.db + +# Editor +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Test artifacts +.molecule/ +molecule/*/.molecule/ +.pytest_cache/ + +# Output +*.tar.gz +*.zip +output/ +build/ +dist/ \ No newline at end of file diff --git a/compose.yml b/compose.yml index 20cf466..780520b 100644 --- a/compose.yml +++ b/compose.yml @@ -3,50 +3,14 @@ services: image: docker.n8n.io/n8nio/n8n:latest container_name: n8n restart: unless-stopped - environment: - - N8N_HOST=us-test-authy.taila7f44e.ts.net - - N8N_PORT=5678 - - N8N_PROTOCOL=https - - N8N_PATH=/n8n/ - - GENERIC_TIMEZONE=America/New_York - - N8N_SECURE_COOKIE=true - - N8N_BASIC_AUTH_ACTIVE=true - - N8N_BASIC_AUTH_USER=herby - - N8N_BASIC_AUTH_PASSWORD=pass - - WEBHOOK_URL=https://us-test-authy.taila7f44e.ts.net/n8n/ - - PBS_GOOGLE_CHAT_WEBHOOK_URL=PLACEHOLDER_REPLACE_ME - - PBS_HEALER_WEBHOOK_URL=PLACEHOLDER_REPLACE_ME - - PBS_MONITOR_BASE_URL=http://172.17.0.1:9100 - - PBS_PORTAINER_BASE_URL=PLACEHOLDER_REPLACE_ME - - PBS_PORTAINER_ENDPOINT_ID=PLACEHOLDER_REPLACE_ME - - PBS_PORTAINER_API_KEY=PLACEHOLDER_REPLACE_ME + ports: + - "5678:5678" + env_file: + - .env volumes: - n8n_data:/home/node/.n8n - networks: - - traefik - labels: - - "traefik.enable=true" - # Main router — UI and webhooks (behind Authelia) - - "traefik.http.routers.n8n.rule=Host(`us-test-authy.taila7f44e.ts.net`) && PathPrefix(`/n8n`)" - - "traefik.http.routers.n8n.entrypoints=https" - - "traefik.http.routers.n8n.tls.certresolver=tailscale" - - "traefik.http.routers.n8n.priority=1" - - "traefik.http.services.n8n.loadbalancer.server.port=5678" - - "traefik.http.middlewares.n8n-strip.stripprefix.prefixes=/n8n" - - "traefik.http.routers.n8n.middlewares=n8n-strip" - # API router — bypasses Authelia (n8n API key provides auth) - - "traefik.http.routers.n8n-api.rule=Host(`us-test-authy.taila7f44e.ts.net`) && PathPrefix(`/n8n/api`)" - - "traefik.http.routers.n8n-api.entrypoints=https" - - "traefik.http.routers.n8n-api.tls.certresolver=tailscale" - - "traefik.http.routers.n8n-api.priority=2" - - "traefik.http.routers.n8n-api.service=n8n" - - "traefik.http.routers.n8n-api.middlewares=n8n-strip" volumes: n8n_data: name: n8n_server_n8n_data - external: true - -networks: - traefik: - external: true + external: true \ No newline at end of file