Realtime & pub/sub
Realtime that sleeps when nobody's watching.
A pub/sub broker, MQTT server, or websocket gateway that stays awake while clients are connected and sleeps the moment the last one disconnects, waking on the next connection. Scale-to-zero measured in connections, not requests. Idle overnight costs nothing; the first client back wakes it in place.
- awake while subscribed
- sleeps on disconnect
- wakes on connect
- any TCP protocol

connection-scoped scale-to-zero
Idle means nobody's connected, not no recent bytes
Live subscriptions stay alive
A SUBSCRIBE, a LISTEN/NOTIFY, an MQTT session, a websocket: a quiet-but-live connection is never reaped, so the app stays awake and keeps delivering. --keep-connections is the mode for streaming.
Sleeps on the last disconnect
When the final client drops, connections hit zero and the app sleeps to ~0 RAM. A chat backend or IoT broker that goes quiet overnight costs nothing until morning.
Wakes on the next client
The first connection to the published port wakes the app in place and forwards, so the reconnecting client just works. A non-volume service wakes from a snapshot in about 125 ms.
Any protocol, no parsing
The forwarder splices raw TCP, so it never needs to understand redis, MQTT, or your own wire format. If it speaks TCP, it scales to zero on connection count.
deploy it
A serverless message bus in one command
pub/sub
Redis pub/sub
Keep-connections holds it awake while subscribers are connected; it sleeps when they all leave.
$ crucible app create bus \
--image redis:alpine -p 6379:6379 \
--min-scale 0 --idle-timeout 3s \
--keep-connectionssubscribe
Hold it awake
A subscriber's connection keeps the app running; it never sleeps out from under a live stream.
$ redis-cli -h host subscribe room # stays awake while this is open
wake
First client wakes it
After everyone disconnects it sleeps; the next connection wakes it in place.
$ redis-cli -h host ping # PONG: woke on connect
serverless realtime, self-hosted
Awake for your users. Asleep the rest of the time.
Connection-scoped scale-to-zero for pub/sub, MQTT, and websocket backends, on hardware you own.
$ curl -fsSL https://github.com/gnana997/crucible/releases/latest/download/install.sh | sudo bash -s -- --with-deps --enable