Deploy Docker containers
without the complexity.

A self-hosted dashboard to build, run, and manage your Docker containers. Connect a repo, pick a Dockerfile, and you're live.

Get Started
my-api main · Dockerfile running
web-app main · Dockerfile building
worker main · Dockerfile.prod stopped
Build Logs Terminal Env Cron
[1/8] FROM docker.io/oven/bun:1
[2/8] WORKDIR /app
[3/8] COPY package.json bun.lock* ./
[4/8] RUN bun install --frozen-lockfile
| 586 packages installed [1.55s]
[5/8] COPY apps/web/ apps/web/
[6/8] RUN cd apps/web && bun run build
| build dist/index.html 12.4 KB
| build dist/assets/app.js 148 KB
[7/8] COPY apps/api/ apps/api/
[8/8] EXPOSE 3000
| exporting layers
| writing image sha256:a3df452e...
✓ Build complete in 8.2s
✓ Container started on port 3000
 
[1/8] FROM docker.io/oven/bun:1
[2/8] WORKDIR /app
[3/8] COPY package.json bun.lock* ./
[4/8] RUN bun install --frozen-lockfile
| 586 packages installed [1.55s]
[5/8] COPY apps/web/ apps/web/
[6/8] RUN cd apps/web && bun run build
| build dist/index.html 12.4 KB
| build dist/assets/app.js 148 KB
[7/8] COPY apps/api/ apps/api/
[8/8] EXPOSE 3000
| exporting layers
| writing image sha256:a3df452e...
✓ Build complete in 8.2s
✓ Container started on port 3000
 
Self-hosting shouldn't require
another platform to learn.
Tools like Coolify add layers of abstraction between you and Docker. You end up debugging the platform instead of your app.
Heavy abstractions hide what Docker is actually doing. When something breaks, you're stuck reading platform docs instead of Docker docs.
Opinionated build pipelines force you into a specific workflow. Your Dockerfile should be enough.
Resource overhead from multi-service architectures eating into the VPS you're paying for.
Everything you need.
Nothing you don't.
Moor is a thin layer over Docker. You stay in control — it just gives you a UI, cron, logs, and a terminal.
Git-based builds
Connect a GitHub repo, pick a branch and Dockerfile. Moor builds and deploys your image.
Cron jobs
Schedule commands inside your containers. View history, output, and trigger manually.
Web terminal
Open a shell in your containers or on the host directly from the browser.
Environment variables
Manage env vars per project. Injected on the next container start.
Live logs
Stream build output and container logs in real time.
Server monitoring
CPU, memory, disk, and container stats at a glance.
Running in seconds.
One install script. One command. That's it.
$ curl -fsSL moor.sh/install | sh $ docker compose up -d