HolyCode
One container. Every tool. Any provider.
Works with Anthropic, OpenAI, Gemini, Groq, Bedrock, Azure, Vertex AI, Ollama, and more. Free and open source.
Don't want to self-host? Try HolyCode Cloud
One container. Every tool. Any provider.
Works with Anthropic, OpenAI, Gemini, Groq, Bedrock, Azure, Vertex AI, Ollama, and more. Free and open source.
Don't want to self-host? Try HolyCode Cloud
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:
- ./data/opencode:/home/opencode
- ./workspace:/workspace
environment:
- PUID=1000
- PGID=1000
- ANTHROPIC_API_KEY=your-key-here $ docker compose up -d Open http://localhost:4096. You're in. Want the board or the meta-agent later? Expose ports 3100 and 8642, then flip ENABLE_PAPERCLIP or ENABLE_HERMES.
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. Persistent storage. Rebuild without losing anything.
git, ripgrep, pnpm, TypeScript, Prisma, Lighthouse, ffmpeg, and more. Pre-installed.
Flip one env var and get a local board on port 3100 that hires OpenCode workers and wakes them on heartbeat.
Start Hermes on port 8642 for a self-improving meta-agent with MCP, messaging adapters, and local OpenCode delegation.
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. Bring your own key, use any model.
Plus Vertex AI, GitHub Models, Ollama, and any OpenAI-compatible endpoint via OpenCode's provider system.
Set one key. Or set all of them. Switch providers anytime without rebuilding.
I built this because I was tired of re-doing the same setup every time. Installing OpenCode, configuring a headless browser in Docker, fixing UID permission issues, debugging process supervision. Every. Single. Time.
So I packaged everything into one container. Every tool configured. Every bug already fixed. You just pull and go.
Your environment should follow you. Not the other way around.
Same 50+ tools. Same 10+ providers. Same persistent state. No Docker. No setup. Just open your browser and code.
Get Early AccessPull one image. Get every tool. Keep everything between rebuilds. Your AI coding workstation, portable and ready.