Fly.io

A socket on Fly.io with a volume and your own domain.

Fly runs the image close to your visitors, keeps WebSockets open and gives you TLS. Save this next to your manifest:

fly.toml

auto_stop_machines is off so the socket stays up between visitors — a stopped machine drops every connection. Read the admin key back any time with fly ssh console -C 'printenv SOCKET_ADMIN_KEY'.

Run one instance. A socket's state lives in that process (and its volume), so two replicas would be two separate sockets. One small instance holds thousands of open connections.

Then manage it from your Mac: in Slash Socket open Fields → + Server, enter its address and admin key, and push a manifest (or set SOCKET_MANIFEST). Pages connect to wss://your-domain with the client from https://your-domain/client.js.