🌍 English | Español | Français | Italiano | Português | Deutsch | Русский | हिन्दी | 中文 | 日本語 | 한국어

One command. Full AI development workstation. Claude Code, web UI, headless browser, 8 AI CLIs, 50+ dev tools — containerized and ready.
You were going to spend 2 hours setting this up manually. Or you could just docker compose up.
Works with your existing Claude Code subscription. Max/Pro plan, API key — whatever you have, it just works.
[!TIP] The install step is disappearing.
HolyClaude gives you the self-hosted AI workstation. HolyCode Cloud gives you the same idea without the server chore.
No compose file. No exposed port. No Docker updates. No tunnel setup. No babysitting the box.
Open the browser. Start the session. Build from anywhere.
Early access is free. Claim your spot while it is still wide open.
You know the drill. You want Claude Code. But you also want it in a browser. With a headless browser for screenshots and testing. With Playwright configured. With every AI CLI. With TypeScript, Python, deployment tools, database clients, GitHub CLI.
So you start installing things. One by one. Then Chromium won't launch because Docker's shared memory is 64MB. Then Xvfb isn't configured. Then the UID inside the container doesn't match your host and everything is permission denied. Then you realize Claude Code's installer hangs when WORKDIR is root-owned. Then SQLite locks on your NAS mount. Then—
HolyClaude is the container I built after solving every single one of those problems.
I've been running this daily on my own server for weeks. Every bug has been hit, diagnosed, and fixed. Every edge case has been handled. Every "why doesn't this work in Docker" has been answered.
You pull it. You run it. You open your browser. You build.
This runs the real Claude Code CLI. Not a wrapper. Not a proxy. Not a knock-off.
Your existing Anthropic account works directly: - Claude Max/Pro plan — authenticate through the web UI (OAuth), same as desktop Claude Code - Anthropic API key — set it through the web UI, same billing as always - No extra cost — HolyClaude is free and open source. You only pay Anthropic for what you use, like you already do.
HolyClaude doesn't touch your credentials. They're stored locally in your bind-mounted volume (
./data/claude/), same as they would be on bare metal.
| Section | |
|---|---|
| :zap: | Quick Start |
| :computer: | Platform Support |
| :star2: | Why HolyClaude |
| :credit_card: | Subscription & Authentication |
| :package: | Image Variants |
| :whale: | Docker Compose — Quick |
| :whale2: | Docker Compose — Full |
| :wrench: | Environment Variables |
| :rocket: | What's Inside |
| :robot: | AI CLI Providers |
| :mag: | Desloppify |
| :llama: | Using Ollama |
| :building_construction: | Architecture |
| :file_folder: | Project Structure |
| :floppy_disk: | Data & Persistence |
| :lock: | Permissions |
| :shield: | Remote Access & Exposure |
| :bell: | Notifications |
| :arrows_counterclockwise: | Upgrading |
| :construction: | Troubleshooting |
| :warning: | Known Issues |
| :hammer_and_wrench: | Building Locally |
| :bar_chart: | Alternatives |
| :rocket: | Roadmap |
| :trophy: | Built with HolyClaude |
| :handshake: | Contributing |
| :heart: | Support |
| :scroll: | Third-Party Software |
| :page_facing_up: | License |
1. Create a folder for HolyClaude:
mkdir holyclaude && cd holyclaude
2. Create a docker-compose.yaml file. Copy one of the templates below:
- Quick template — minimal, zero config, just works
- Full template — all options, fully documented
3. Pull and start:
docker compose up -d
4. Open the web UI:
http://localhost:3001
5. Create a CloudCLI account (takes 10 seconds), sign in with your Anthropic account, and you're live.
No
.envfiles. No pre-configuration. No reading 40 pages of docs before you can start. It just runs.Want to reach it from outside your network? Don't port-forward it. See Remote Access & Exposure — use Tailscale or Cloudflare Tunnel instead.
| Platform | Status | Notes |
|---|---|---|
| Linux (amd64) | ✅ Fully supported | Native performance, recommended |
| Linux (arm64) | ✅ Fully supported | Raspberry Pi 4+, Oracle Cloud, AWS Graviton |
| macOS (Docker Desktop) | ✅ Fully supported | Apple Silicon & Intel via Docker Desktop |
| Windows (WSL2 + Docker Desktop) | ✅ Fully supported | Requires WSL2 backend |
| Synology / QNAP NAS | ✅ Fully supported | Use CHOKIDAR_USEPOLLING=true for SMB mounts |
| Kubernetes | 🔜 Coming soon | Helm chart planned |
I built this because I was tired of re-doing the same setup every time. Installing Claude Code, wiring up a web UI, configuring Chromium in Docker, fixing permission issues, debugging process supervision. Every time.
So I made a container that does all of it. And then I hit every possible bug so you don't have to.
| HolyClaude | Doing it yourself | |
|---|---|---|
| Setup | 30 seconds | 1-2 hours (if it goes well) |
| Claude Code | Pre-installed, pre-configured, ready | Install, configure, debug installer hanging, fix WORKDIR |
| Web UI | CloudCLI included with plugins | Find a web UI, install it, configure it, wire it to Claude |
| Headless browser | Chromium + Xvfb + Playwright, configured | Install Chromium, install Xvfb, configure display :99, fix shm, fix sandbox, fix seccomp... |
| AI CLIs | 8 providers, one container | Install each one separately across 3 package managers |
| Dev tools | 50+ tools, ready | apt-get install / npm i -g / pip install for the next hour |
| Process management | s6-overlay (auto-restart, graceful shutdown) | Write your own supervisord config or hope Docker restart works |
| Persistence | Bind mounts, credentials survive everything | Figure out Docker volumes, debug "why is this a directory not a file" |
| Updates | docker pull && docker compose up -d |
Update 50 tools manually, pray nothing breaks |
| Multi-arch | AMD64 + ARM64 | Pray your Dockerfile builds on ARM |
The last row of every manual setup is "works on my machine." HolyClaude works on every machine.
HolyClaude runs the official Claude Code CLI from Anthropic. Your existing account works out of the box.
| Authentication method | How | Cost |
|---|---|---|
| Claude Max/Pro plan (subscription) | Sign in through CloudCLI web UI — same OAuth flow as desktop | Your existing subscription, no extra charge |
| Anthropic API key | Paste your API key in the web UI | Pay-per-use, same Anthropic billing |
| Why | |
|---|---|
| OpenAI API key for Claude | Different company, different API. OpenAI keys work with the Codex CLI (also pre-installed) |
ChatGPT Plus/Pro subscribers: Your subscription works with the Codex CLI. Run
codex login --device-authinside the container to authenticate with your ChatGPT account. If you need Codex's browser callback flow from your host, expose port1455in the full compose template below.
| CLI | What you need |
|---|---|
| Gemini CLI | Google AI API key (GEMINI_API_KEY) |
| OpenAI Codex | OpenAI API key (OPENAI_API_KEY) or ChatGPT Plus/Pro subscription (codex login --device-auth) |
| Cursor | Cursor API key (CURSOR_API_KEY) |
| TaskMaster AI | Uses your AI provider keys (Anthropic, OpenAI, etc.) |
| Junie | JetBrains account (JetBrains AI subscription) |
| OpenCode | Configure via opencode TUI (OpenRouter and other providers) |
| Pi Coding Agent | Configure through pi (supports multiple providers) |
HolyClaude is free and open source. You only pay your AI providers for usage, same as you already do. We don't proxy, intercept, or touch your credentials. They live in your local bind mount.
Two flavors. Same quality. Pick your weight class.
| Tag | What you get | Best for | Docker Hub compressed size |
|---|---|---|---|
latest |
Everything pre-installed — every tool, every library, every CLI | Most users. Zero wait time. Claude never has to stop and install something. | ~4.1 GB |
slim |
Core tools only — Claude installs extras on-demand | Smaller VPS, limited disk, metered bandwidth | ~2.4 GB |
X.Y.Z |
Full image, pinned version | Production stability — you control when to update | Same as latest for that release |
X.Y.Z-slim |
Slim image, pinned version | Production + small footprint | Same as slim for that release |
# Full — batteries included (recommended)
docker pull coderluii/holyclaude
# Slim — lean and mean
docker pull coderluii/holyclaude:slim
latestis always the full image. Slim users: don't worry — when you ask Claude to do something that needs a missing tool, it installs it in seconds. You get the same capabilities, just with a smaller initial download.Docker Hub reports compressed transfer size. Docker, Synology Container Manager, and NAS filesystems can show a larger unpacked size after layers are extracted. That is expected; use
slimwhen disk space or bandwidth matters more than having every tool ready on first boot.
The "I just want it running" template. Copy this entire block into a docker-compose.yaml file:
```yaml
services: holyclaude: image: coderluii/holyclaude:latest # Full image (use :slim for smaller download) container_nam
$ claude mcp add HolyClaude \
-- python -m otcore.mcp_server <graph>