Deployment
nohup is meant to run on a machine you own and reach from your other devices. The recommended setup is a host on your tailnet (Tailscale), so traffic is end-to-end encrypted without exposing anything to the public internet.
Reach it from your phone (Tailscale)
- Install Tailscale on the host and your phone; both join the same tailnet.
- Run nohup (Docker or binary) on the host.
- Open
http://<host>.<tailnet>.ts.net:8787from any device on the tailnet.
HTTPS with tailscale serve
To get a real cert + HTTPS (and enable Secure cookies):
tailscale serve --bg 8787
Your app is now at https://<host>.<tailnet>.ts.net. Set NOHUP_COOKIE_SECURE=1 and turn on
auth.
Don't expose nohup to the public internet without auth. Within a tailnet, traffic is already encrypted; if you use Tailscale Funnel or any public reverse proxy, require a login and use TLS.
Docker on a server
docker compose up -d
Persist data with the nohup-data volume and mount the repos you work in under /workspaces. Put
NOHUP_USERNAME / NOHUP_PASSWORD_HASH in the environment (or an .env next to the compose file).
Updating
git pull
docker compose up -d --build # rebuild the image
The conversation isn't stored, so updates are safe; your workspaces and session registry live in the mounted volumes.