commit 61b685ed3bfb4f5d0d456acf0007e23706f68fec Author: Travis Herbranson Date: Wed May 13 18:46:03 2026 -0400 init commit to create the project diff --git a/.env b/.env new file mode 100644 index 0000000..e69de29 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..505a3b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Python-generated files +__pycache__/ +*.py[oc] +build/ +dist/ +wheels/ +*.egg-info + +# Virtual environments +.venv diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..20cf466 --- /dev/null +++ b/compose.yml @@ -0,0 +1,52 @@ +services: + n8n: + 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 + 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 diff --git a/main.py b/main.py new file mode 100644 index 0000000..8daaa16 --- /dev/null +++ b/main.py @@ -0,0 +1,6 @@ +def main(): + print("Hello from n8n!") + + +if __name__ == "__main__": + main() diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c70289c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,7 @@ +[project] +name = "n8n" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [] diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..59cdd42 --- /dev/null +++ b/uv.lock @@ -0,0 +1,8 @@ +version = 1 +revision = 3 +requires-python = ">=3.12" + +[[package]] +name = "n8n" +version = "0.1.0" +source = { virtual = "." }