A Heroku & Vercel alternative you run yourself

The first self-hosted fully Agentic PaaS

Deploy from Git, Docker, or Compose through a dashboard your team can trust. Then hand your coding agents an MCP, CLI, and API surface that drives the same control plane you do — on servers you own.

$ curl -sfL https://get.zensailor.com | bash
See how it works
  • <60sfrom curl to dashboard
  • $0forever, no credit card
  • MCPbuilt in, not bolted on
  • 100%your hardware, your data

Same control plane, either driver.

Your whole stack, one clear control room.

Explore a complete sample workspace built from the same screens your team uses to ship services, watch their health, and operate every connected node.

Interactive demoSample data
  • Health-gated releases
  • Automatic HTTPS
  • MCP, CLI, and API access
ZenSailor Live Showcase

Control roomSee health, capacity, and activity across the platform at a glance.

3 nodes  ·  38 containers  ·  11 healthy services
  • 160+Templates, all reviewedEvery image version-pinned, storage mapped, secrets prompted, routing wired.
  • ZeroDowntime deploysBlue/green by default for concurrent datastores; single-writer stores use an explicit serialized cutover. Health checks gate traffic whenever the service provides one.
  • MultiNode clusteringSchedule builds and workloads by tag, then operate every node from one control plane.
  • MCP + APIBuilt for agentsInspect deployments and logs, discover live schemas, and redeploy through organization-scoped access.
Built for people and agents

One control plane.
Your whole team can use it.

Coding agents can write the code. Shipping still stalls when production only exists as buttons and screens. ZenSailor gives your team a polished dashboard and gives agents authenticated, machine-readable access to the same platform.

A clear workspace for people

Your team gets one place for services, deployments, domains, databases, logs, and infrastructure.

A real interface for agents

MCP tools, a matching CLI, and live API schemas give coding agents structured context instead of a dashboard to screen-scrape.

Useful access, with guardrails

Organization-scoped credentials and role-aware actions keep agent access inside the same boundaries as the people who invited it.

Agent connectedMCP
Your coding agent

Find out why checkout-api failed and prepare the safest next step.

  1. 01
    get_system_statusLive revision healthy · latest deployment failed
  2. 02
    get_deploymentBuild log: DATABASE_URL is missing
  3. 03
    get_api_referenceEnvironment endpoint and exact input schema found
Diagnosis ready

The missing variable is identified. The healthy live revision was never touched.

Redeploys stay role-aware and are recorded in the audit trail.

Nº 01 — How it works

From bare server to production
in two moves.

There is no third step. No YAML to learn, no platform worker to configure by hand, no registry to stand up first.

  1. Install

    Run one command on any Ubuntu or Debian server — from a Raspberry Pi to bare metal. The control plane is live in under a minute.

    $ curl -sfL https://get.zensailor.com | bash
  2. Ship

    Connect GitHub or paste an existing docker-compose.yml, then push. Buildpacks detect your stack, and health-gated blue/green swaps, SSL certificates, and safe serialized cutovers for single-writer stores happen automatically.

    $ git push origin main
Nº 02 — Why ZenSailor

Shipping fast or owning your stack.
Pick both.

Every other way of getting an app onto a server makes you give up one of them. Here is what each one costs you.

Vercel, Railway, Render, Heroku

Ships fast — owns your stack

One click to deploy, and your app lives in their account. The bill grows with your traffic, egress fees make leaving expensive, and the platform decides what you are allowed to run.

Your own scripts

Owns your stack — doesn't ship fast

A $5 VPS and total control, paid for in deploy scripts, certificate renewals, the health check you meant to add, and the pager at 2am.

Coolify, Dokploy, CapRover

Both, on paper

Credible, open-source platforms — and the right call when source access decides the purchase. ZenSailor's edge is the operating experience: safer releases, accountable templates, and one control plane for people and agents.

Compare workflow for workflow
Already comparing?

Read the case for both products. The better choice should survive a feature-by-feature comparison, not a vague superiority claim.

ZenSailor

Both. On hardware
you already own.

Push to Git. ZenSailor builds the image, boots the new version beside the running one, waits for it to pass health checks, then switches traffic. HTTPS is already handled. 160+ reviewed stacks are one click away. When one server stops being enough, add another and tag it.

See what it costs
  • Zero-downtime releases by default — not an advanced setting
  • Standard Docker, Compose and Traefik underneath — leave whenever you like
  • No seats, no build minutes, no egress fees, no surprise invoice
  • Free forever for one developer. No card, no trial clock.

Yes, ZenSailor is closed source. The Community Edition is still free forever for one developer, and that model pays for full-time development rather than a sponsorship drive. It changes nothing about ownership: underneath it is standard Docker, Docker Compose and Traefik, so your containers, volumes and data stay manageable without us — and stay yours if you leave.

The momentBy handWith ZenSailor What you get
Shipping a changeSSH in, git pull, docker compose up, watch and hope.git push. Build, health check, traffic switch, done.
Downtime on releaseThe old container stops before the new one is ready.The new version boots beside the live one. Traffic moves only once it is healthy.
HTTPSCertbot, a cron job, and a renewal that fails on a Sunday.Let's Encrypt certificates issued and renewed for you. Bring your own wildcard if you have one.
Adding Postgres, Redis or GrafanaFind a compose file from 2021, hope it still works, wire the volumes, guess the env.One click from 160+ reviewed stacks: image versions pinned, storage mapped, secrets prompted.
When something breaks at 2amdocker logs | grep, and a lot of scrolling.The crash is read for you and the fix is suggested in plain English.
Outgrowing one serverSwarm, Kubernetes, or a second pile of SSH scripts.Add a node, tag it builder or runner, schedule onto it.
What it costsNothing — except your weekends.$0 for one developer. Forever, on your own hardware.
  • Shipping a change

    By handSSH in, git pull, docker compose up, watch and hope.

    With ZenSailorgit push. Build, health check, traffic switch, done.

  • Downtime on release

    By handThe old container stops before the new one is ready.

    With ZenSailorThe new version boots beside the live one. Traffic moves only once it is healthy.

  • HTTPS

    By handCertbot, a cron job, and a renewal that fails on a Sunday.

    With ZenSailorLet's Encrypt certificates issued and renewed for you. Bring your own wildcard if you have one.

  • Adding Postgres, Redis or Grafana

    By handFind a compose file from 2021, hope it still works, wire the volumes, guess the env.

    With ZenSailorOne click from 160+ reviewed stacks: image versions pinned, storage mapped, secrets prompted.

  • When something breaks at 2am

    By handdocker logs | grep, and a lot of scrolling.

    With ZenSailorThe crash is read for you and the fix is suggested in plain English.

  • Outgrowing one server

    By handSwarm, Kubernetes, or a second pile of SSH scripts.

    With ZenSailorAdd a node, tag it builder or runner, schedule onto it.

  • What it costs

    By handNothing — except your weekends.

    With ZenSailor$0 for one developer. Forever, on your own hardware.

Nº 03 — Capabilities

The control plane behind the work.
From first push to a fleet.

Build, route, observe, scale, and recover through one platform — whether the next action comes from you, a teammate, or an agent.

Production-Ready GitOps

Connect GitHub or self-hosted Git. ZenSailor uses Cloud Native Buildpacks to detect your language and build optimized images automatically. No Dockerfiles, no maintenance, just push to deploy.

feat: update api schemamain @ 7a2b5c
fix: cache invalidation on writemain @ 3f91ad
Deploying to Production...

160+ App Catalog

Deploy maintained stacks in one click. Applications live in the template picker, while 20 database and data-store engines have their own guided provisioning flow.

Template pickerReviewed stacks
  • AppwriteDeveloper backend
  • ForgejoGit hosting
  • Uptime KumaMonitoring
  • Paperless-ngxDocuments

Version-pinned and ready to configure

Native Docker Compose

Bring your existing projects. Paste a docker-compose.yml and we handle the routing, persistent storage, and health checks automatically.

services:
web:
image: nginx

One control plane. Every node.

Add remote Linux servers and tag them for build or run placement. NATS coordinates each agent while deployments, logs, metrics, drains, and domain routing stay in one dashboard.

build-01builder
apps-02runner · gpu

Health-Gated Traffic Switch

ZenSailor starts the replacement beside the live version, then switches Traefik only after its readiness gate. Services backed by a single-writer store such as SQLite are automatically given a serialized cutover; multi-writer databases keep the full blue/green path. Let's Encrypt certificates are handled automatically.

Traefik edge router
bluev1.2serving 100%
greenv1.3health check 2/3

Traffic moves only when the gate clears.

A Control Plane Your Agents Can Use

Connect your coding agent over MCP. It can inspect services, deployments, build logs, runtime logs, and system health; redeploy with your approval; and discover the live API schema when it needs a deeper operation.

FATAL: Cannot connect to Redis
Cause found: REDIS_PASSWORD is missing. The live revision is still healthy; here is the exact environment endpoint to update.

Automatic & Custom SSL

Let's Encrypt certificates are provisioned and renewed automatically. Need more? Upload your own wildcard certs from the Security dashboard.

S3 Automated Backups

Secure your data with automated DB dumps and volume snapshots to any S3 bucket. Scheduled and encrypted.

One Platform, However You Work

Use the dashboard, CLI, MCP server, authenticated API, or browser terminal. People and agents work with the same services, deployments, domains, and infrastructure instead of maintaining separate automation paths.

$ zensailor service deploy svc_01h...
Triggering deployment...
Deployment queued successfully.
Nº 04 — Application catalog

160+ templates.
Every one of them reviewed.

A maintained application and infrastructure library, not a directory of logos. Database engines have a dedicated provisioning flow; applications stay in the template picker. Every stack ships with its release, storage, variables, and routing defined.

Catalog coverageReviewed, version-pinned stacks organised by workload.
  • 20 database & data-store engines
  • Git & developer tools
  • Monitoring & automation
  • Knowledge & productivity
  • Media & downloads
  • Security & identity
  • Communication
  • AI

Every image pinned

Every catalog image sits on a real release line: zero untagged images and zero floating :latest tags. Your database stays on the version you deployed, restart after restart.

Persistent by design

Databases, uploads, configuration, and media libraries are mapped to durable service storage where the application needs them.

First-boot security

Required passwords, API keys, and signing secrets are requested before deployment and wired into the services that consume them.

Ready for your domain

Web services arrive with Traefik routing, HTTPS, and the correct internal port. Protocol services clearly identify any direct host ports they require.

Your running deployment stays yours. Installing from a template creates standard Docker Compose services and persistent data on your server. Later catalog edits affect new deployments; they do not silently swap the software or erase the data in an existing service.

Nº 05 — Pricing

Start free. Stay free.

One developer, one node, unlimited apps and deployments, and all 160+ templates, free forever on your hardware. You only pay when you need a team, a cluster, or managed backups.

MonthlyYearly 2 months free

Community Edition

$0/forever

The complete platform for an individual developer.

  • Unlimited Apps & Deployments
  • Auto SSL & GitOps
  • CPU & Memory Limits
  • Two-Factor Authentication
  • 160+ Curated Templates
  • 1 Cluster Node
  • 1 Instance per Service
  • 1 User / 1 Organization
  • No paid activation required
  • S3 Automated Backups
  • Team RBAC Roles

Sends usage & diagnostic telemetry linked to your account. See what’s collected.

Most Popular

Pro Captain

$29/month

Billed monthly

For startups scaling their infrastructure.

  • Everything in Community
  • 3 Node Cluster
  • Scale to 3 Instances/Service
  • 3 Users per Organization
  • Up to 3 Organizations
  • 1,000 control-plane activations
  • Preview Environments per PR
  • Automated S3 Backups & Restores
  • Audit Log (30-day history)
  • Priority Email Support

Sends usage & diagnostic telemetry linked to your account. See what’s collected.

Go Pro

Enterprise

$129/month

Billed monthly

Mission-critical scale and unlimited power.

  • Everything in Pro
  • Unlimited Cluster Nodes
  • Unlimited Scale (Replicas)
  • Unlimited Users & Orgs
  • Custom control-plane activation allowance
  • SSO / OIDC Single Sign-On
  • Telemetry Opt-Out
  • Unlimited Audit Log Retention
  • Slack Connect Channel
  • 1 Business-Day Support Response

Telemetry can be disabled instance-wide.

Contact Sales
Nº 06 — Questions from the deck

Everything you need to know

The things people ask before they run the install command.

Nº 07 — Set sail

A better place for people and agents to ship.

Install ZenSailor on any Linux server, invite the way your team works, and give coding agents a real production interface. The individual edition runs unlimited apps and deployments for $0 — no credit card, no trial clock, and your containers and data remain yours.

$ curl -sfL https://get.zensailor.com | bash