Configuration
nohup is configured entirely through environment variables (it also reads a .env file from the
working directory).
| Variable | Default | Description |
|---|---|---|
PORT | 8787 | Port the server listens on (binds all interfaces). |
DATABASE_URL | sqlite://nohup.db | SQLite registry (workspaces, sessions, agents). |
NOHUP_USERNAME | — | Login username. Auth is on only when this and the hash are set. |
NOHUP_PASSWORD_HASH | — | argon2id hash of the password — generate with hash-password. |
NOHUP_COOKIE_SECURE | 0 | Set 1 to mark the session cookie Secure (HTTPS only). |
NOHUP_WORKTREE_DIR | (in-repo) | Reserved; worktrees are colocated at <repo>/.nohup/worktrees. |
STATIC_DIR | ../frontend/dist | On-disk UI to serve. If absent, the embedded UI is used. |
Example .env
PORT=8787
DATABASE_URL=sqlite:///data/nohup.db
# Auth (see the Auth page)
NOHUP_USERNAME=aravindh
NOHUP_PASSWORD_HASH='$argon2id$v=19$m=19456,t=2,p=1$...'
# NOHUP_COOKIE_SECURE=1 # behind HTTPS
Data & isolation
- The SQLite database is just a registry — the conversation itself is not persisted (the agent is the source of truth; a small transcript snapshot is kept so reopened sessions show history).
- Each session runs in a git worktree at
<repo>/.nohup/worktrees/<id>, added to the repo's local excludes so it never shows up in yourgit status.