Skip to main content

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)

  1. Install Tailscale on the host and your phone; both join the same tailnet.
  2. Run nohup (Docker or binary) on the host.
  3. Open http://<host>.<tailnet>.ts.net:8787 from 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.

warning

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.