Docker
Otter ships a public image on Docker Hub. End users pull and run Compose — no GitHub clone required. Contributors who want bind mounts should use docker/compose.dev.yml from the repo.
Pull & install tabs
docker pull manasdutta04/otterDocker tab: docker pull manasdutta04/otter. Package-manager tabs install the standalone CLI.
Full stack (UI + API + DB)
docker compose -f https://otter.manasdutta.com/docker-compose.yml up -dThis docs build resolves to: docker compose -f https://otter-2ookq06sf-manas-projects-577f14e5.vercel.app/docker-compose.yml up -d
Image: manasdutta04/otter:latest. Compose creates local Postgres + Redis volumes automatically.
On Windows, if Compose fails resolving .env from a URL, download /docker-compose.yml first, then docker compose -f docker-compose.yml up -d.
What runs
manasdutta04/otter— Next.js UI (:3000), FastAPI (:8000), Celery worker, engineer core (packages/agent)- Official
postgres:16-alpineandredis:7-alpine(local volumes)
Release notes: Changelog (pull :latest or a v* tag after each publish).
GitHub Connect (no secrets in the image)
The published image does not contain GitHub App Client Secrets. Operators set OTTER_AUTH_BROKER_URL to the Cloudflare Worker that completes login. End users only click Connect — see GitHub.
Public distribution
- Source: public on GitHub
- Runtime image: public on Docker Hub
- Compose file: public on this site (
https://otter.manasdutta.com/docker-compose.yml) - App credentials: only in Cloudflare Secrets for the auth broker
Ollama from Docker
Ollama stays on the host. The platform reaches it via host.docker.internal:11434. Do not use 127.0.0.1 inside the container for Ollama.