From e190554f026c57ec0b82735b63faae46215f1a9a Mon Sep 17 00:00:00 2001 From: worker1 Date: Wed, 25 Jun 2025 22:45:55 -0400 Subject: [PATCH] done --- README.md | 48 ++++++++++++++++++------------------- docker-compose.yml | 6 ++--- tailscale/config/serve.json | 2 +- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 421f25e..fe7f193 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# {{Service}} with Tailscale Integration +# n8n with Tailscale Integration -![{{Service}} with Tailscale](https://damconsulting.llc/images/logo_yellow.svg "{{Service}}") +![n8n with Tailscale](data:image/png;base64,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) -This project sets up a {{Service}} instance with Tailscale VPN integration using Docker Compose. It creates a secure, private network connection for your {{Service}} instance using Tailscale. +This project sets up a n8n instance with Tailscale VPN integration using Docker Compose. It creates a secure, private network connection for your n8n instance using Tailscale. ## Prerequisites @@ -12,33 +12,34 @@ This project sets up a {{Service}} instance with Tailscale VPN integration using ## Project Structure ``` -ts-{{service}}/ +ts-n8n/ ├── docker-compose.yml ├── tailscale/ │ ├── tailscale-data/ # Persistent Tailscale state │ └── config/ # Tailscale configuration files -└── {{service}}/ - └── config/ # {{Service}} configuration files +└── n8n/ + └── config/ # n8n configuration files ``` ## Setup Instructions 1. **Clone the Repository** ```bash - git clone https://gitea.damconsulting.llc/DAM/ts-{{service}} - cd ts-{{service}} + git clone https://gitea.damconsulting.llc/DAM/ts-n8n + cd ts-n8n ``` 2. Create Required Directories ```bash mkdir -p tailscale/tailscale-data + mkdir -p n8n_data ``` 3. Configure Tailscale - Replace `{{YOUR_TAILSCALE_AUTHKEY}}` in the docker-compose.yml with your actual Tailscale auth key - Optionally, update the file in `tailscale/config/serve.json` if you need specific Tailscale serve configurations - CAUTION: Changing `"${TS_CERT_DOMAIN}:443": false` to `true` will expose the service to the internet -4. Configure {{Service}} - - See the [documentation]({{service_docs}}) for configuration options +4. Configure n8n + - See the [documentation](https://docs.n8n.io/?_gl=1*19afx3*_gcl_au*MjAxNDcxMjcxMi4xNzUwNzI3OTUy*_ga*NTQxOTAxNzE1LjE3NTA3Mjc5NTI.*_ga_0SC4FF2FH9*czE3NTA5MDQ5MzAkbzIkZzEkdDE3NTA5MDU0OTIkajMwJGwwJGgw) for configuration options 5. Start the Services ```bash @@ -48,30 +49,30 @@ ts-{{service}}/ 6. Wait for Certificate to propagate [~2m] 7. Login - - After starting the services your service should be available via tailnet at https://{{service}}.{{YOUR_TAILNET_DOMAIN}}.ts.net ie https://{{service}}.tail12345.ts.net/ + - After starting the services your service should be available via tailnet at https://n8n.{{YOUR_TAILNET_DOMAIN}}.ts.net ie https://n8n.tail12345.ts.net/ ## Services -### {{service}}-ts (Tailscale) +### n8n-ts (Tailscale) - Runs Tailscale VPN client - Image: tailscale/tailscale:latest -- Container name: {{service}}-ts -- Hostname: {{service}} +- Container name: n8n-ts +- Hostname: n8n - Requires NET_ADMIN and SYS_MODULE capabilities - Persists state in ./tailscale/tailscale-data - Uses configuration from ./tailscale/config -### {{service}} +### n8n -- Depends on {{service}}-ts service +- Depends on n8n-ts service ## Usage -- After starting the services your service should be available via tailnet at `https://{{service}}.{{YOUR_TAILNET_DOMAIN}}.ts.net` ie `https://{{service}}.tail12345.ts.net/` +- After starting the services your service should be available via tailnet at `https://n8n.{{YOUR_TAILNET_DOMAIN}}.ts.net` ie `https://n8n.tail12345.ts.net/` - To manually get the Tailscale IP/hostname of your container: ```bash - docker logs {{service}}-ts + docker logs n8n-ts ``` Look for the Tailscale IP address in the logs. @@ -90,19 +91,18 @@ ts-{{service}}/ ## Troubleshooting - Check container logs: ```bash - docker logs {{service}}-ts - docker logs {{service}} + docker logs n8n-ts + docker logs n8n ``` - Ensure your Tailscale auth key is valid and not expired - Verify the configuration files have proper permissions - Make sure required directories exist before starting ## Notes -- The {{Service}} service uses the Tailscale service's network stack via `network_mode: service:{{service}}-ts` +- The n8n service uses the Tailscale service's network stack via `network_mode: service:n8n-ts` - Direct port mapping is disabled by default as Tailscale handles the networking - Services restart automatically unless explicitly stopped - For more information: - Tailscale documentation: https://tailscale.com/kb/ - - {{Service}} [documentation]({{service_docs}}) - - {{Service}} [repository]({{service_repo}}) - - {{Service}} [linuxserve.io]({{service_lcsr}}) \ No newline at end of file + - n8n [documentation](https://docs.n8n.io/?_gl=1*19afx3*_gcl_au*MjAxNDcxMjcxMi4xNzUwNzI3OTUy*_ga*NTQxOTAxNzE1LjE3NTA3Mjc5NTI.*_ga_0SC4FF2FH9*czE3NTA5MDQ5MzAkbzIkZzEkdDE3NTA5MDU0OTIkajMwJGwwJGgw) + - n8n [repository](https://github.com/n8n-io/n8n) \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index d5ffbd3..5850ec5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: hostname: n8n container_name: n8n-ts environment: - - TS_AUTHKEY={{YOUR_TAILSCALE_AUTHKEY}} + - TS_AUTHKEY=tskey-auth-kGdib6Ws8S11CNTRL-DkDVMZivAxSn7jBFbBJ1ySn2xpSDqF4K - TS_STATE_DIR=/var/lib/tailscale - TS_SERVE_CONFIG=/config/serve.json volumes: @@ -18,8 +18,8 @@ services: n8n: image: docker.n8n.io/n8nio/n8n container_name: n8n - ports: - - 5678:5678 + # ports: + # - 5678:5678 volumes: - ./n8n_data:/home/node/.n8n environment: diff --git a/tailscale/config/serve.json b/tailscale/config/serve.json index 121ffb8..764e5d2 100644 --- a/tailscale/config/serve.json +++ b/tailscale/config/serve.json @@ -8,7 +8,7 @@ "${TS_CERT_DOMAIN}:443": { "Handlers": { "/": { - "Proxy": "http://127.0.0.1:3000" + "Proxy": "http://127.0.0.1:5678" } } }