3.2 KiB
3.2 KiB
Seattle
Contabo cloud VPS in Seattle, US. Public internet-facing host for services that need a stable external IP, plus Tailscale exit node / DERP relay for the mesh.
Specs
| Hostname | vmi2076105 |
| OS | Ubuntu 24.04.4 LTS (Noble) |
| Public IP | YOUR_WAN_IP |
| Tailscale IP | 100.82.197.124 (Headscale node ID:2) |
| RAM | 62 GB |
| Disk | 290 GB root (~110 GB free) |
| Tailscale | 1.96.4 |
SSH aliases (see ~/.ssh/config): seattle (public IP, Contabo SSH), seattle-tailscale (via Tailscale IP).
Role
- Public exit node for Tailscale mesh
- DERP relay (
derper) — self-hosted DERP, advertised to Headscale - Stoatchat (Revolt fork) full stack — see
docs/admin/stoatchat-operational-status.md - AI coding workstation (HolyClaude, :3059)
- Personal productivity (Obsidian remote, Wallabag, KeeWeb, Padloc)
- Matrix / LiveKit signalling + TURN for video calls
- DDNS updaters for
*.vish.ggrecords pointing to this VPS
Running services
All managed via docker compose. Twenty containers as of 2026-04-18.
| Container | Purpose | Ports |
|---|---|---|
holyclaude |
Web UI for Claude Code via coderluii/holyclaude | 100.82.197.124:3059 → 3001 |
derper |
Tailscale DERP relay | :3478/udp, :8444/tcp |
livekit |
WebRTC SFU for Matrix calls | :7880-7881/tcp, :50000-50100/udp |
fluxer_server |
Fluxer backend | 127.0.0.1:8088 |
nats-core |
NATS messaging | internal |
nats-jetstream |
NATS persistence | internal |
elasticsearch |
Stoatchat search | :9200 |
valkey |
Redis-compatible cache (Stoatchat) | internal |
meilisearch |
Full-text search | :7700 |
padloc-nginx / padloc-server / padloc-pwa |
Padloc password manager | :5500 |
keeweb |
KeeWeb password vault | :8443 |
obsidian |
Headless Obsidian via LinuxServer image | 127.0.0.1:3000-3001 |
wallabag |
Read-later service | 127.0.0.1:8880 |
dozzle-agent |
Remote log agent | :7007, :8080 |
diun |
Docker image update notifier | — |
ddns-ddns-seattle-derp-1 |
Cloudflare DDNS for DERP DNS | — |
ddns-ddns-seattle-proxied-1 |
Cloudflare DDNS for proxied records | — |
ddns-ddns-seattle-stoatchat-1 |
Cloudflare DDNS for Stoatchat | — |
Nginx runs on the host (not in Docker) on :80/:443 with Let's Encrypt and terminates SSL for all public-facing services.
Networking
eth0— Contabo public IP (YOUR_WAN_IP)tailscale0— 100.82.197.124, advertises as exit node- Firewall: Contabo panel + ufw; ports 80, 443, 2222 (SSH), 7880-7881, 50000-50100/udp, 8444, 5500, 3478/udp open
- DDNS: three Cloudflare DDNS containers keep DNS records synced to the public IP
Related docs
- HolyClaude service
- Stoatchat operational status
- Seattle monitoring update (Feb 2026)
- Headscale — DERP relay advertisement
Host access
ssh seattle # public IP, port 2222
ssh seattle-tailscale # via Tailscale (100.82.197.124)
SSH login is root (key-based); no password auth.