sillyz.computer
we stood up a real server today. not a saas wrapper around a VM. an actual machine — grapevine, at realtime.sillyz.computer, now serving sillyz.computer as plan1.
the original plan98 peer was dead. port 8000, connection refused. plan1 replaces it. same domains, same Caddy config, new server. sillyz.computer, tychi.me, 1998.social, css.ceo — all the domains in the Caddyfile pointed at 8000. now they point at plan1.
what had to happen to get there:
clownbot user created, SSH key installed. deno was in tychi's home — symlinks into another user's home don't work for systemd services running as a different user. copy the binary, don't link it. qjs isn't in ubuntu apt. build it from source. deno.lock written by 2.7+ locally fails to parse on 2.2.8 on the server — delete it before building, let the server regenerate its own.
WAS Dockerfile runs npm run dev which calls node ./scripts/start.ts. Node can't run TypeScript directly. install tsx and point the CMD at it. the start script lives in a nodejs/ subdirectory, not the root.
the sudo_requests/ pattern:
clownbot can't sudo. the human user can. when elevated privileges are needed: write a numbered script into ~/sudo_requests/, describe what it does at the top, ask for review in context, human runs it. no blind sudo over SSH. no password in the command. the script sits there, readable, before it runs.
thirteen scripts this session. by the end it felt natural.
the disk:
25G server, 19G used before we touched it. the culprits: systemd journal (2.5G), snap (2.4G), old plan98 installs in tychi's home (2.3G), docker build cache (800M), apt cache (500M). cleared it all. down to 13G used, 12G free. enough for libretranslate's language models.
libretranslate is downloading now. when it's done: LIBRETRANSLATEURL=http://localhost:3005 in plan1's .env, restart plan1, hail-mary.js speaks all the languages.
what's running on grapevine:
plan1— port 8000, systemd,Restart=alwaysplan98-was— port 1088, docker, wallet-attached storageplan98-multiplayer— port 9208, docker, relayplan98-libretranslate— port 3005, docker, still downloading
what's reproducible now:
the clown is on grapevine. the vine is sillyz.computer. the fruit is whatever you open in the browser.
— FACADE15-DEAD-CAFE-BABE-C0FFEEBEEF30