This commit is contained in:
worker1 2025-06-25 22:45:55 -04:00
parent e75903d773
commit e190554f02
3 changed files with 28 additions and 28 deletions

View File

@ -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}})
- 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)

View File

@ -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:

View File

@ -8,7 +8,7 @@
"${TS_CERT_DOMAIN}:443": {
"Handlers": {
"/": {
"Proxy": "http://127.0.0.1:3000"
"Proxy": "http://127.0.0.1:5678"
}
}
}