Install Scrutin with Docker

Use this path when you do not want Python on the host—common on Windows-heavy teams, Java shops, or locked-down laptops. You need Docker, a git project folder (with .git), and a browser. Image: pramod5551/scrutin:latest on Docker Hub. Have Python already? See the Python guide.

After following these steps, you should be able to:

Step 1 — Check requirements

RequirementNotes
DockerDesktop or Engine with docker run / Compose
Git repositoryFolder with .git—mount it into the container
Browserhttp://127.0.0.1:8787 (default)
docker --version
docker compose version

Step 2 — Quick start with docker run

macOS / Linux — run from your project directory:

cd /path/to/your-project
docker pull pramod5551/scrutin:latest
docker run --rm -p 8787:8787 -v "$(pwd):/workspace:rw" pramod5551/scrutin:latest

Windows (PowerShell):

cd C:\dev\my-project
docker pull pramod5551/scrutin:latest
docker run --rm -p 8787:8787 -v "${PWD}:/workspace:rw" pramod5551/scrutin:latest

Open http://127.0.0.1:8787. In the UI, set Repository to /workspace—not your host path (C:\... or /Users/...).

Step 3 — Optional: Docker Compose

Compose needs a docker-compose.yml in your project directory. Download the file hosted on this site (no GitHub clone required):

cd /path/to/your-project
curl -fsSL -o docker-compose.yml \
  https://www.sharpbyte.dev/scrutin/docker-compose.yml
docker compose pull
docker compose up

Stop with Ctrl+C or docker compose down.

Review a different folder (absolute path on the host):

export SCRUTIN_REPO="/absolute/path/to/your-project"
docker compose up
$env:SCRUTIN_REPO = "C:\dev\my-project"
docker compose up

Step 4 — Set repository and refresh the brief

  1. Repository/workspace
  2. Click ◎ Detect repo if needed
  3. Pick a Compare mode (usually working for pre-commit)
  4. Click ↻ Refresh brief

Step 5 — Review, stage, and commit

Same workflow as the Python install:

  1. Review Files to scrutinizeView diff, Mark reviewed.
  2. Stage files or Stage all.
  3. Suggest messageCommit staged.

Git inside the container: Commit runs git in the container on your mounted repo. If author identity is missing, Scrutin prompts for name and email (saved for that repo only). Resolve merge or push conflicts in your editor or terminal, then retry.

Step 6 (optional) — LLM API keys

Pass a .env from your project:

docker run --rm -p 8787:8787 \
  -v "$(pwd):/workspace:rw" \
  --env-file .env \
  pramod5551/scrutin:latest

With Compose, add env_file: .env under the scrutin service in docker-compose.yml.

IDE plugins — coming soon

IDE sidebar plugins are not on the Marketplace yet. Use the browser at http://127.0.0.1:8787 with your container running on port 8787.

Planned: plugins for VS Code, Cursor, and IntelliJ that connect to the same Docker-backed server (typically with scrutin.server.autoStart off and port 8787).

When they ship, you will start the container as in Steps 2–3, then open the brief from your editor.

Troubleshooting

IssueFix
no configuration file provided: not foundNo docker-compose.yml in that folder—use docker run or download compose from this site (Step 3)
pull access denied / image not founddocker pull pramod5551/scrutin:latest
Wrong or empty briefRepository in the UI must be /workspace
Port in useMap "8788:8787" and open port 8788
Slow on WindowsPrefer WSL2 and mount the repo from the Linux filesystem

Quick cheat sheet

cd ~/your-project
docker pull pramod5551/scrutin:latest
docker run --rm -p 8787:8787 -v "$(pwd):/workspace:rw" pramod5551/scrutin:latest
# → http://127.0.0.1:8787 → Repository: /workspace → Refresh brief