One container. Every tool. Any provider.
Works with Anthropic, OpenAI, Gemini, Groq, Bedrock, Azure. Free and open source.
From zero to AI coding in under a minute.
$ docker pull coderluii/holycode:latest compose.yamlservices:
holycode:
image: coderluii/holycode:latest
container_name: holycode
restart: unless-stopped
shm_size: 2g # Chromium needs this
ports:
- "4096:4096" # OpenCode web UI
volumes:
- holycode-config:/home/opencode/.config/opencode
- holycode-data:/home/opencode/.local/share/opencode
- holycode-state:/home/opencode/.local/state/opencode
- holycode-cache:/home/opencode/.cache/opencode
- ./workspace:/workspace
environment:
- ANTHROPIC_API_KEY=your-key-here
volumes:
holycode-config:
holycode-data:
holycode-state:
holycode-cache: Everything you need. Nothing you don't.
Built-in web UI on port 4096. Provider-agnostic. Bring any API key.
Settings, sessions, MCP configs, plugins. Named volumes. Rebuild without losing anything.
git, ripgrep, fzf, bat, eza, lazygit, delta, gh CLI, and more. Pre-installed.
Chromium + Xvfb + Playwright. Screenshots, scraping, automation. Zero config.
Two runtimes ready for your projects. npm, pip, venv included.
Process supervision. Auto-restart. Clean shutdown. No zombies.
OpenCode is provider-agnostic. Use whatever model you want.
| Provider | Environment Variable |
|---|---|
| Anthropic Claude | ANTHROPIC_API_KEY |
| OpenAI | OPENAI_API_KEY |
| Google Gemini | GEMINI_API_KEY |
| Groq | GROQ_API_KEY |
| AWS Bedrock | AWS_ACCESS_KEY_ID + 2 more |
| Azure OpenAI | AZURE_OPENAI_ENDPOINT + 2 more |
Set one key. Or set all of them. Switch anytime without rebuilding.
I built this because I was tired of re-doing the same setup every time.
| HolyCode | DIY | |
|---|---|---|
| Setup | Under 2 minutes | 30-60 minutes |
| Chromium + Xvfb | Pre-configured | Debug yourself |
| Dev tools | 20+ pre-installed | Install one by one |
| State persistence | Automatic volumes | Manual bind mounts |
| UID/GID permissions | Built-in PUID/PGID | Dockerfile hacks |
| Multi-arch | amd64 + arm64 | Build both yourself |
| Updates | docker pull | Rebuild from scratch |
"The last row of every manual setup is 'works on my machine.' HolyCode works on every machine."