Draw your coding-agent pipeline as a flow. Night Shift runs it while you sleep. Self-hosted Host.
1.3K
Draw your coding-agent pipeline as a flow. Night Shift runs it while you sleep. You wake up to pull requests and a short list of decisions that need you.
This image runs Night Shift as a headless Host: the web UI, the run engine and the database in one container. Your other computers and the phone app sync with it.
Source, docs and issues: https://github.com/xiduzo/nightshift
docker run -d --name nightshift \
-p 127.0.0.1:3000:3000 -v nightshift:/data \
-e NIGHTSHIFT_HOST_ADDRESSES=https://nightshift.example.com \
xiduzo/nightshift:latest
Then give the Host admin a password, and sign in at your address:
docker exec -it nightshift nightshift admin --email [email protected]
Put a proxy with TLS in front of port 3000 (Caddy, Cloudflare Tunnel, Tailscale). The guides: https://github.com/xiduzo/nightshift/tree/main/docs/deploy
| Tag | What it is |
|---|---|
latest | The latest full release |
0.2.0, 0.2 | A release, or the latest patch of a minor version |
nightly | The latest nightly build of main. It can break. |
0.2.1-nightly.20261020.12 | One nightly build |
sha-1a2b3c4 | The build of one commit |
Every tag is for linux/amd64 and linux/arm64.
The image holds Night Shift, git and ssh, and nothing else. Build your own image on it with the agent CLIs and tools your flows use:
FROM xiduzo/nightshift:latest
USER root
COPY --from=node:22-bookworm-slim /usr/local/bin/node /usr/local/bin/node
COPY --from=node:22-bookworm-slim /usr/local/lib/node_modules /usr/local/lib/node_modules
RUN ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
&& npm install -g @anthropic-ai/claude-code
ENV DISABLE_AUTOUPDATER=1
USER bun
Give the logins of the CLIs in the environment, for example
CLAUDE_CODE_OAUTH_TOKEN (from claude setup-token) and GH_TOKEN.
| Variable | What it does |
|---|---|
NIGHTSHIFT_HOST_ADDRESSES | The https:// addresses of this Host, comma-separated |
NIGHTSHIFT_REQUIRE_TWO_FACTOR | on: people who sign in from another computer use two-factor sign-in |
NIGHTSHIFT_SECRETS_DIR | A folder with one file per secret, for example /run/secrets |
Everything is in /data: the database, the run history and the secrets you
save in the UI. Keep it on a volume and back it up. One /data has one Night
Shift: under Docker Swarm, set the update order to stop-first.
Apache-2.0
Content type
Image
Digest
sha256:537ba58ed…
Size
111.6 MB
Last updated
about 21 hours ago
docker pull xiduzo/nightshift:sha-755f41f