# Atlantis Migration Guide Moving Atlantis NAS and homelab-vm to a new location while Calypso stays. ## Overview ``` LOCATION A (Calypso stays) LOCATION B (New location) ┌──────────────────────┐ ┌─────────────────────────────────┐ │ CALYPSO │ │ ATLANTIS + HOMELAB-VM │ │ ├── sso.vish.gg │ │ ├── pw.vish.gg │ │ ├── git.vish.gg │◄──Internet─┤ ├── gf.vish.gg │ │ ├── seafile │ │ ├── meet.thevish.io │ │ └── paperless │ │ ├── mastodon.vish.gg │ └──────────────────────┘ │ └── (all other services) │ └─────────────────────────────────┘ ``` ## Pre-Migration Checklist ### 1. Backup Everything - [ ] Portainer stack configurations exported - [ ] Docker volumes backed up - [ ] Synology configuration backed up - [ ] DNS records documented ### 2. Create Cloudflare Tunnels #### Atlantis Tunnel 1. Go to [Cloudflare Zero Trust](https://one.dash.cloudflare.com/) 2. Navigate to: Networks → Tunnels → Create tunnel 3. Name: `atlantis-tunnel` 4. Copy the tunnel token 5. Add public hostnames: | Public Hostname | Type | 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 | #### Homelab-VM Tunnel 1. Create another tunnel named `homelab-vm-tunnel` 2. Add public hostnames: | Public Hostname | Type | Service | |-----------------|------|---------| | gf.vish.gg | HTTP | localhost:3300 | | ntfy.vish.gg | HTTP | localhost:8081 | | hoarder.thevish.io | HTTP | localhost:3000 | | binterest.thevish.io | HTTP | localhost:21544 | ### 3. Deploy Tunnel Containers Deploy `cloudflare-tunnel.yaml` on both: - Atlantis: `hosts/synology/atlantis/cloudflare-tunnel.yaml` - Homelab-VM: `hosts/vms/homelab-vm/cloudflare-tunnel.yaml` Set the `TUNNEL_TOKEN` environment variable in Portainer. ### 4. Test Before Moving - [ ] Verify tunnel shows "Healthy" in Cloudflare dashboard - [ ] Test each service through tunnel (may conflict with current reverse proxy) ## Migration Day ### Step 1: Update Calypso Reverse Proxy Remove entries that will be handled by tunnels: - pw.vish.gg - cal.vish.gg - meet.thevish.io - joplin.thevish.io - mastodon.vish.gg - matrix.thevish.io - mx.vish.gg - mm.crista.love - gf.vish.gg - ntfy.vish.gg - hoarder.thevish.io - binterest.thevish.io Keep only Calypso's local services: - sso.vish.gg - git.vish.gg - sf.vishconcord.synology.me - paperlessngx.vishconcord.synology.me - actual.vishconcord.synology.me - (other localhost services) ### Step 2: Update DDNS Configuration **Calypso** (`dynamic_dns.yaml`): Only update domains that Calypso serves directly: - sso.vish.gg - git.vish.gg - (other Calypso services) **Atlantis**: Disable or remove DDNS updater - tunnels don't need public IP. ### Step 3: Physical Move 1. Shut down Atlantis and homelab-vm gracefully 2. Transport equipment 3. Connect to new network 4. Power on and verify tunnel connectivity ### Step 4: Verify Services - [ ] All tunneled services accessible - [ ] Calypso services still working - [ ] No DNS conflicts ## Post-Migration ### DNS Records After Migration | Domain | Before | After | |--------|--------|-------| | pw.vish.gg | A record → home IP | CNAME → tunnel | | gf.vish.gg | A record → home IP | CNAME → tunnel | | sso.vish.gg | A record → home IP | A record → Calypso IP (unchanged) | | git.vish.gg | A record → home IP | A record → Calypso IP (unchanged) | ### Benefits of Cloudflare Tunnel - No port forwarding needed at new location - Automatic SSL - DDoS protection - Works behind CGNAT - Access policies via Cloudflare Access (optional) ## Rollback Plan If issues occur: 1. Connect Atlantis back to original network 2. Re-enable Calypso reverse proxy entries 3. Disable tunnel containers 4. Services resume through Calypso ## Services by Location (Post-Migration) ### Location A - Calypso Only | Service | Domain | Port | |---------|--------|------| | Authentik | sso.vish.gg | 9000 | | Gitea | git.vish.gg | 3052 | | Seafile | sf.vishconcord.synology.me | 8611 | | Paperless | paperlessngx.vishconcord.synology.me | 8777 | | Actual | actual.vishconcord.synology.me | 8304 | ### Location B - Via Cloudflare Tunnel | Service | Domain | Host | Port | |---------|--------|------|------| | Vaultwarden | pw.vish.gg | Atlantis | 4080 | | Grafana | gf.vish.gg | homelab-vm | 3300 | | Jitsi | meet.thevish.io | Atlantis | 5443 | | Mastodon | mastodon.vish.gg | Atlantis VM | 3000 | | Ntfy | ntfy.vish.gg | homelab-vm | 8081 | | Hoarder | hoarder.thevish.io | homelab-vm | 3000 | | Binterest | binterest.thevish.io | homelab-vm | 21544 | | Joplin | joplin.thevish.io | Atlantis | 22300 | | Calendar | cal.vish.gg | Atlantis | 12852 | | Matrix | matrix.thevish.io | Atlantis VM | 8081 |