Moving the whole thing to a $23 VPS
The cutover took eight minutes: four CNAMEs, one tunnel, a week of preparation. The hard part was not the DNS — it was admitting that the vectors could not travel.
By Clifton Morris
Labels used throughout. [MEASURED] — from the deploy log, the box snapshot or a captured
command in the pack. [FACT] — a file in the pack. [OPINION] — mine.
The machine that now runs everything is an OVH VPS-4: eight vCores, 24 GB of RAM, 200 GB of NVMe,
a 3 Gbps pipe, $23.37 a month — about $280 a year [MEASURED, the deploy log §2]. It replaced a
17-inch gaming laptop in a closet, which had a GPU and no bill.
That sentence sounds like a downgrade. It is the opposite: the reader’s 13.4 GB of pinned model
memory had already moved to Modal (that is the previous piece), so what was left on the laptop was
an engine that had to be awake all the time and rarely needed a GPU. Paying rent for a GPU to sit
idle is the expensive way to run a service. Paying $23.37 for eight vCores is the cheap way.
The migration is interesting because of what had to stay behind.
Members only
This piece is part of the members' archive — $8 a month or $80 a year.
$8 / month · $80 / year
Sign in if you are already a member, or create an account.
Sign in · Create an account
The proof pack — attachments
Included with the piece — 14 files, 146 KB. Sign in as a member to download.
- Reader brief — plan a cutover you can roll back 00-reader-brief.md · 6.9 KB · sha256 f288dd73
- The box, as found (2026-10-14) box-state.md · 6.7 KB · sha256 67e9ec2b
- cloudflared: the public front door config/cloudflared.yml · 2.0 KB · sha256 cc86d714
- SSH aliases for the box config/ssh-config.txt · 2.2 KB · sha256 d4a576cd
- The cutover, from the deploy log cutover-timeline.md · 3.0 KB · sha256 c4559604
- Licence — personal use licence.md · 0.5 KB · sha256 cd1f7f1c
- How to reproduce the move reproduce.md · 2.4 KB · sha256 fef78979
- The deployment runbook — as built runbook.md · 96.4 KB · sha256 00d1bf7d
- doctor-workspace.sh — expect the box to match scripts/doctor-workspace.sh · 8.2 KB · sha256 b71ffe59
- refresh-from-source.sh — rebuild the deployed copy scripts/refresh-from-source.sh · 4.2 KB · sha256 be9a4c95
- vps-login.sh — the three routes to the box scripts/vps-login.sh · 2.8 KB · sha256 6f6daf4e
- vps-sync.sh — the deploy path scripts/vps-sync.sh · 6.8 KB · sha256 bda20e69
- systemd: the reranker sidecar systemd/metatron-rerank.service · 1.3 KB · sha256 0aa12aef
- systemd: the engine unit systemd/metatron.service · 3.1 KB · sha256 c606f816