mirror of
https://github.com/JogmansonReal/Radicade.git
synced 2026-10-25 23:18:56 -07:00
31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# VPS
|
|
|
|
Scripts for the host running the public server (a Windows VPS behind Caddy; see the
|
|
repo-level [`Caddyfile`](../Caddyfile), which terminates TLS for `ns.radicade.app` and
|
|
proxies to `127.0.0.1:3030`).
|
|
|
|
## `fix-dorm-blob.sh`
|
|
|
|
Repairs the "joining room" / dorm-load crash caused by a room save that references a
|
|
DataBlob missing from CDN storage. It has two modes:
|
|
|
|
```bash
|
|
# MODE 1 — data fix: upload a valid empty room blob through the admin API.
|
|
# Requires the server's BotSecret (the Radicade:AdminApiKey / bot secret).
|
|
BOT_SECRET='<secret>' bash VPS/fix-dorm-blob.sh
|
|
BOT_SECRET='<secret>' HOST=https://ns.radicade.app bash VPS/fix-dorm-blob.sh
|
|
|
|
# MODE 2 — durable code fix: deploy the RoomUtils self-heal on the host.
|
|
bash VPS/fix-dorm-blob.sh --deploy
|
|
```
|
|
|
|
Mode 1 POSTs the blob to `/admin/rooms/upload/datablob` and then verifies it via
|
|
`GET /room/<blob>`; HTTP 401 means a wrong secret, `000`/timeout means the backend is
|
|
down. Mode 2 pulls the branch, publishes the server, restarts the service and checks
|
|
`GET /ns`.
|
|
|
|
Notes: the secret is taken from `$BOT_SECRET` or `$1` and is never written to disk by
|
|
the script, so never commit it — pass it through the environment. The service restart
|
|
assumes a systemd-style unit; if the host restarts the server another way, change
|
|
`mode2` accordingly.
|