Redrive

Deployment

Docker

For local use, bind to loopback only:

docker run -p 127.0.0.1:8080:8080 -v redrive:/data redrive/redrive

For a shared instance, bind wide and set the password gate:

docker run -p 8080:8080 -v redrive:/data -e REDRIVE_PASSWORD=… redrive/redrive

The container healthchecks itself against /healthz, so docker ps and any orchestrator in front of it can tell when Redrive is actually ready, not just running.

Upgrading Docker

docker pull redrive/redrive
docker rm -f <container>
docker run -p 8080:8080 -v redrive:/data -e REDRIVE_PASSWORD=… redrive/redrive

State lives in the redrive volume, not the container, so it survives the swap.

TLS

Redrive terminates no TLS itself, by design — that's a solved problem, and there's no reason to reimplement it badly. Put a reverse proxy in front. Caddy, for instance, handles certificates on its own:

caddy reverse-proxy --from redrive.example.com --to localhost:8080

Server mode

Binding beyond loopback turns Redrive into a shared workspace: one password gates the whole thing, and everyone who has it sees every connection. There's no per-user separation, so treat it as a team tool rather than a multi-tenant one.

Downgrades

A database migrated by a newer version doesn't open in an older one. If a release breaks something for you, wait for a hotfix or ask for one — downgrading the binary isn't a safe way back.