Date: 2026-04-20
Canonical source: Hetzner (ubuntu-8gb-hel1-1, 89.167.17.183, tailscale 100.99.129.102)
Mirror: Contabo (173.249.30.224)
ssh hetzner 'cat > /path') — memory writes are not supposed to originate on the mirror.Pulled from Hetzner -> Contabo:
- /root/.claude/projects/-/memory/ (all memory files)
- /opt/agent/data/brian/IDENTITY.md
- /root/CLAUDE.md
- /root/.claude/docs/
- /opt/agent/data/capabilities.md
- /opt/agent/tools/claude-memory-compiler/knowledge/
Host hetzner in /root/.ssh/config on Contabo -> 89.167.17.183).Host hetzner to tailscale IP 100.99.129.102 for private transport./opt/agent/scripts/sync_brian_to_contabo.sh (Hetzner)/root/sync_brian_to_contabo.sh/etc/systemd/system/brian-memory-sync.service (Contabo)/etc/systemd/system/brian-memory-sync.timer (Contabo, OnUnitActiveSec=10min)/var/log/brian_memory_sync.log (Contabo)ssh contabo 'systemctl start brian-memory-sync.service'ssh contabo 'systemctl list-timers brian-memory-sync.timer --no-pager'ssh contabo 'tail -f /var/log/brian_memory_sync.log'Use git-over-SSH with Hetzner hosting a bare repo at /opt/agent/git/brian-memory.git. Not set up today because rsync-pull solves the actual use case (Brian needs a read-only copy of his brain to boot).