Warden

The published image runs on any host with Docker. Start with a docker-compose.yml:

docker-compose.yml
yaml
services:
  warden:
    image: ghcr.io/melosso/warden:latest
    container_name: warden
    ports:
      - "8080:8080"
    volumes:
      - ./content:/app/content:ro,Z
      - ./data:/app/data

Mount content/ so your pages stay editable from the host, and data/ so the SQLite heartbeat history survives container recreates. Then bring it up:

bash
mkdir -p data
docker compose up -d

The status page is now at http://localhost:8080.

TIP

content/ is a volume, so a new Markdown file is picked up as soon as it's saved, no restart.

Behind a reverse proxy, set Docs:BasePath (or --base-path for a static export) so internal links resolve under your chosen path. The installation guide covers first-time setup, and environment variables lists what the compose file accepts.