Dashboard
Deploy

Ship a Docker app
with one command.

Point Mags at any Docker image or GitHub repo. We build a secure microVM, give it a public HTTPS URL, and keep it alive — scaling to zero when idle so you only pay when it runs.

mags — deploy
$ mags deploy -i nginx:latest -n web --port 80 Deploying nginx:latest as "web" on port 80... Deploy started: web (version 1) Status: building → ready ✓ Deployed URL: https://d-a7a082cd.apps.mags.run # Services in a project reach each other by name # over a private mesh — no public exposure. DATABASE_URL=postgresql://app:••••@db.myapp.internal.mags:5432/app REDIS_URL=redis://cache.myapp.internal.mags:6379 $ curl http://api.myapp.internal.mags:8080/health ok $ mags deploy -i myapp:v2 -n web Deploy started: web (version 4) $ mags rollback web --to 3 ✓ Rolled back web → version 3 $ mags freeze web # sleep now, wake on next request
Deploy, wire up private networking, and roll back in seconds.
1 cmd
Image or repo to live URL
$0 idle
Scale-to-zero when no traffic
~1s
Wake from frozen on request
Auto TLS
HTTPS + custom domains

From image to live URL in three steps

No Dockerfile rewrites, no Kubernetes, no YAML. Mags handles the build, the boot, and the networking.

1

Point

Give Mags a Docker image or a GitHub repo with a Dockerfile.

mags deploy -i node:20 -n api
2

Build

We pull or build the image inside a sandboxed builder and pack it into a microVM rootfs.

Status: building → ready
3

Live

Your app boots with a public HTTPS URL and private internal networking.

https://api.apps.mags.run

Your apps, one canvas

Manage every service, deploy, domain, and metric from a single project view.

mags.run/projects
Drop your dashboard screenshot here
screenshots/dashboard.png
The Mags project canvas — services, deploy history, and live metrics.

A full app platform on microVMs

Everything you'd expect from a modern PaaS — running on hardware-isolated microVMs instead of shared containers.

Docker & GitHub Deploys

Deploy any public or private Docker image, or connect a GitHub repo and we'll build your Dockerfile in the cloud. Override CMD and ENTRYPOINT when you need to.

Public URLs & Custom Domains

Every service gets an HTTPS URL at *.apps.mags.run. Bring your own domain from any registrar — TLS is auto-issued, no cert setup on your side.

Private Service Networking

Services in a project find each other by name over a private WireGuard mesh — web.myapp.internal.mags. Replicas are load-balanced automatically, with no public exposure.

Scale-to-Zero

Idle apps freeze to a snapshot — ~0 CPU, $0 compute. The next request transparently wakes the VM from exactly where it left off in about a second.

One-Click Databases

Add a managed Postgres 16 or Redis 7 to your project in one click. Credentials are generated for you and a ready-to-paste connection string appears instantly.

Persistent Volumes

Mount durable, object-storage-backed volumes that survive restarts, freezes, and cross-host failover. Reuse a volume name to share one source of truth across services.

Instant Rollback

Every deploy is a versioned snapshot. Roll back to any previous version in one command when something goes wrong — no rebuild required.

Live Metrics & Logs

Watch CPU, memory, and uptime per replica with live sparklines, and stream container logs straight from the dashboard or CLI.

Heavy Images

Multi-gigabyte ML and CUDA images? --heavy streams the rootfs lazily from object storage at boot, so even 10 GB+ images start fast.

Built-in Resilience

Each deploy is snapshotted to durable object storage. If a host goes down, Mags reconstitutes your app on a healthy host automatically — cross-host disaster recovery for free.

Replicas

Run multiple instances of a service behind one URL. Traffic is round-robined across replicas spread over different hosts — no load balancer to configure.

Projects & Canvas

Group related services into a project and roll them out together with "Deploy all." Manage env vars, volumes, and domains per service from one visual canvas.

CLI or dashboard — your call

Script your deploys from the terminal, or manage everything visually from the project canvas.

# Deploy a Docker image
mags deploy -i nginx:latest -n web --port 80

# Deploy a Node API with env vars, always-on
mags deploy -i node:20 -n api -p 3000 \
  -e "DB_URL=postgres://..." -e "SECRET=xyz" --no-server

# Attach a durable volume
mags deploy -i my/app -n worker --volume bucket:state:/data

# Manage a running app
mags env set web LOG_LEVEL=debug
mags logs web
mags rollback web --to 3
Project canvas at mags.run/projects

  + Add        → Docker image · GitHub repo · Postgres · Redis
  Deploy now   → build & ship the current config
  Deploy all   → roll out every service in the project

Per-service tabs:
  Deployments  → history, versions, rollback, live metrics
  Source       → image / repo, branch, Dockerfile path
  Variables    → environment variables
  Volumes      → durable storage mounts
  Logs         → live container + build logs
  Domains      → custom domains with auto-TLS
  Settings     → port, replicas, server mode

Wire services together, privately

Add a database and an API to the same project and they can talk over a private mesh instantly — addressed by a stable internal hostname, never exposed to the internet.

For Postgres and Redis services, Mags even assembles the full connection string for you, with the password one click away. Multiple replicas of a service? The same hostname round-robins across all of them.

Test #2 / production
🐳 web Ready · v1
d-a7a082cd.apps.mags.run
port 80 · 2.0% cpu · 25 MB · up 9m
Connect from another service in this project
Hostweb.test-2.internal.mags
Port80
URLhttp://web.test-2.internal.mags:80
Postgres 16 Redis 7 Any Docker image GitHub repo

A closer look

Deploys, logs, metrics, domains — everything you need to run apps in production.

Deploy your first app in under a minute

Install the CLI, point it at an image, and you're live. No credit card required.