Skip to content

Instantly share code, notes, and snippets.

@sirkirby
Last active March 11, 2022 20:23
Show Gist options
  • Save sirkirby/791ba305f1aa93a8fc66413091b2ff8a to your computer and use it in GitHub Desktop.
Save sirkirby/791ba305f1aa93a8fc66413091b2ff8a to your computer and use it in GitHub Desktop.
Set up two load balanced cloudflared tunnels
version: "3.7"
configs:
swarm-config:
file: swarm-config.yml
swarm2-config:
file: swarm2-config.yml
secrets:
cloudflared-cert:
file: cert.pem
cf-swarm-tunnel:
file: cf-swarm.json
cf-swarm2-tunnel:
file: cf-swarm2.json
services:
# tunnel 1 in cloudflare LB group lb.mydomain.net
cloudflared-swarm-1:
image: cloudflare/cloudflared:2022.2.2
ports:
- 40139:40139/tcp
configs:
- source: swarm-config
target: /etc/cloudflared/swarm-config.yml
secrets:
- source: cloudflared-cert
target: /etc/cloudflared/cert.pem
- source: cf-swarm-tunnel
target: /etc/cloudflared/cg-swarm.json
command: 'tunnel --config /etc/cloudflared/swarm-config.yml --origincert /etc/cloudflared/cert.pem --autoupdate-freq 24h run'
environment:
TZ: "America/Detroit"
deploy:
restart_policy:
condition: on-failure
# tunnel 2 in cloudflare LB group lb.mydomain.net
cloudflared-swarm-2:
image: cloudflare/cloudflared:2022.2.2
ports:
- 40140:40139/tcp
configs:
- source: swarm2-config
target: /etc/cloudflared/swarm2-config.yml
secrets:
- source: cloudflared-cert
target: /etc/cloudflared/cert.pem
- source: cf-swarm2-tunnel
target: /etc/cloudflared/cg-swarm2.json
command: 'tunnel --config /etc/cloudflared/swarm2-config.yml --origincert /etc/cloudflared/cert.pem --autoupdate-freq 24h run'
environment:
TZ: "America/Detroit"
deploy:
restart_policy:
condition: on-failure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment