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:
- Run Scrutin in a container mapped to port 8787.
- Open the UI and set Repository to
/workspace(the path inside the container). - Review, stage, and commit using git inside the container on your mounted repo.
Step 1 — Check requirements
| Requirement | Notes |
|---|---|
| Docker | Desktop or Engine with docker run / Compose |
| Git repository | Folder with .git—mount it into the container |
| Browser | http://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
- Repository →
/workspace - Click ◎ Detect repo if needed
- Pick a Compare mode (usually working for pre-commit)
- Click ↻ Refresh brief
Step 5 — Review, stage, and commit
Same workflow as the Python install:
- Review Files to scrutinize — View diff, Mark reviewed.
- Stage files or Stage all.
- Suggest message → Commit 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
| Issue | Fix |
|---|---|
no configuration file provided: not found | No docker-compose.yml in that folder—use docker run or download compose from this site (Step 3) |
pull access denied / image not found | docker pull pramod5551/scrutin:latest |
| Wrong or empty brief | Repository in the UI must be /workspace |
| Port in use | Map "8788:8787" and open port 8788 |
| Slow on Windows | Prefer 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