Self-hosted Docker control panel for a single server. Build, deploy, and manage containers with cron, logs, and a web terminal.
- Build Docker images from GitHub repos
- Start, stop, restart, and rebuild containers
- Stream build output and container logs in real time
- Web terminal into running containers
- Schedule cron jobs inside containers
- Manage environment variables per project
- Route custom domains to containers with HTTPS
- CLI and MCP server for AI agent integration
Docker Engine 25.0+ with the Compose v2 plugin. Install from https://docs.docker.com/engine/install/.
mkdir -p moor && cd moor
curl -fsSL moor.sh/install | sh
docker compose up -dThe installer writes docker-compose.yml and a random MOOR_INITIAL_PASSWORD in .env into the current directory. The password is printed at the end of the install output - save it for the first login.
Moor's admin is bound to 127.0.0.1:3000 by default (Caddy on 80/443 serves only project domains you add later). Open an SSH tunnel from your laptop:
ssh -L 8080:127.0.0.1:3000 your-serverThen open http://localhost:8080 and log in with the password from .env.
Trust boundary. Moor mounts
/var/run/docker.sock. Anyone with moor admin access or a validMOOR_API_KEYeffectively controls the host. Treat both like SSH access.
- Self-hosting guide - first boot, admin domain, API keys, project ports, private registry images, private GitHub repos, Docker socket
@moor-sh/cli- command-line interface@moor-sh/mcp- MCP server for AI agents
bunx @moor-sh/cli status # one-shot
bun add -g @moor-sh/cli # or install globally; then `moor status`Reads MOOR_URL and MOOR_API_KEY from the environment. See packages/cli/README.md for the full command list.
bunx @moor-sh/cli mcp config --client claude # or --client claude-code / --client codexPrints a ready-to-paste config snippet for Claude Code or Codex that wires @moor-sh/mcp into the client. See packages/mcp/README.md for the full setup walkthrough.
bun install
bun run dev:api # API with hot reload
bun run dev:web # Vite dev serverBun, SQLite, React, Vite, Docker Engine API (Unix socket).
