Poindexter is built and tested against Windows 11 + WSL2 + Docker Desktop with
an NVIDIA GPU. macOS and Linux should work — the steps are identical — but the
image-gen server expects CUDA, so on machines without an NVIDIA card the
image-generation step degrades to placeholders. Everything else is platform
neutral.
Prerequisites
| Tool | Version | Required |
|---|---|---|
| Docker Desktop | 4.26+ | Yes |
| Ollama | 0.1.40+ | Yes |
| Python | 3.13+ | Yes |
| Node.js | 22+ | Frontend only |
| GPU | 8 GB VRAM+ | Recommended |
Steps
Clone and bootstrap
Install the Python package, then run the bootstrap CLI. The wizard writes
~/.poindexter/bootstrap.toml (database URL plus the few machine secrets
Docker needs) and provisions the initial OAuth client.- Windows (Git Bash)
- macOS / Linux
Pull AI models
Ollama serves the writer and reviewer LLMs plus the embedding model. The
pulls below total about 21 GB — they only happen once.For better writing quality, pull a larger writer model too:
Bring the stack up
The launcher reads First boot takes a few minutes — Docker pulls all the images, Postgres
runs the baseline migration, and the worker waits for Ollama to warm up.
bootstrap.toml, exports the values as env vars for
the Compose file, and starts the worker, brain daemon, Postgres, Grafana,
image-gen server, Prefect, Langfuse, GlitchTip, and the observability stack.- Windows (Git Bash)
- macOS / Linux
Verify health
Three quick checks confirm the stack is healthy.Open Grafana at http://localhost:3000 and load
the Mission Control dashboard. The default credentials are printed
during
poindexter setup. Every panel should report green or “no data
yet” — never red.Open Prefect at http://localhost:4200 and
confirm the content_generation deployment is registered.Next
Architecture overview
The kernel/module/capability structure, the LangGraph pipeline, the six QA
rails — how the parts fit.
Operations runbooks
Day-2 work: troubleshooting, incident response, backups, secret rotation.
CLI reference
Every
poindexter subcommand with flags and examples.Extend with plugins
Add a Stage, Reviewer, Publishing Adapter, Tap, or Module.