# Cloudflare Tunnel for Atlantis NAS
# Provides secure external access without port forwarding
#
# SETUP INSTRUCTIONS:
# 1. Go to https://one.dash.cloudflare.com/ → Zero Trust → Networks → Tunnels
# 2. Create a new tunnel named "atlantis-tunnel"
# 3. Copy the tunnel token (starts with eyJ...)
# 4. Replace TUNNEL_TOKEN_HERE below with your token
# 5. In the tunnel dashboard, add these public hostnames:
#
#    | Public Hostname      | Service                    |
#    |----------------------|----------------------------|
#    | pw.vish.gg           | http://localhost:4080      |
#    | cal.vish.gg          | http://localhost:12852     |
#    | meet.thevish.io      | https://localhost:5443     |
#    | joplin.thevish.io    | http://localhost:22300     |
#    | mastodon.vish.gg     | http://192.168.0.154:3000  |
#    | matrix.thevish.io    | http://192.168.0.154:8081  |
#    | mx.vish.gg           | http://192.168.0.154:8082  |
#    | mm.crista.love       | http://192.168.0.154:8065  |
#
# 6. Deploy this stack in Portainer

version: '3.8'

services:
  cloudflared:
    image: cloudflare/cloudflared:latest
    container_name: cloudflare-tunnel
    restart: unless-stopped
    command: tunnel run
    environment:
      - TUNNEL_TOKEN=${TUNNEL_TOKEN}
    network_mode: host  # Needed to access localhost services and VMs
    # Alternative if you prefer bridge network:
    # networks:
    #   - tunnel_net
    # extra_hosts:
    #   - "host.docker.internal:host-gateway"

# networks:
#   tunnel_net:
#     driver: bridge
