Guide

How do I deploy apps on my own VPS without managing Docker by hand?

Short answer: Install a self-hosted PaaS on the VPS and let it manage Docker for you. With Coolify, an open-source alternative to Heroku, Vercel and Netlify, that takes one command:

$curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

Then open http://<your-server-ip>:8000, create your admin account, connect a Git repository and push. Coolify builds your app into a container, routes traffic to it, and gets free Let's Encrypt HTTPS for your domain. You don't need to write a Dockerfile or run docker commands unless you want to.

Coolify runs on any Linux server you can reach over SSH: a VPS from any provider, a dedicated server, a VM or a 64-bit Raspberry Pi. Your apps and data stay on your servers. If you stop using Coolify, your running resources keep working.

Install: steps and time

  1. Get a fresh Linux server with SSH access. Debian, Ubuntu LTS, RHEL-family, SUSE, Arch and Alpine are listed as supported. A fresh server avoids conflicts with existing apps.
  2. Run the install script as root or a sudo user (the command above). It installs what Coolify needs, including Docker if it's missing, and prints the next steps when it's done.
  3. Open http://<your-server-ip>:8000 and create the admin account right away. Until you do, whoever reaches the registration page first becomes the admin.
  4. Back up /data/coolify/source/.env. It holds the installation secrets you'd need to restore Coolify from a backup.
  5. Deploy something. The quickest check is the docs' first-app guide. It deploys the nginx:alpine image on port 80 and opens it on a generated sslip.io address, so you don't need a Git repo, a build or your own domain for the first test.

How long does it take? coolify.io says the self-hosted version "is ready on your server in under a minute". Your time depends on the server and on whether Docker has to be installed first. Don't want to run the dashboard at all? Coolify Cloud hosts it for you, and you connect your servers.

What can a small VPS actually run?

  • What Coolify itself runs. A standard self-hosted install runs three base containers: the dashboard/API (coolify), PostgreSQL for Coolify's own state (coolify-db) and Redis (coolify-redis). Each server also runs a reverse proxy, and the coolify-sentinel monitoring container is optional. Coolify talks to your servers over SSH, so there's no permanent agent to install.
  • Documented minimum: 2 CPU cores, 2 GB RAM and 10 GB free disk (amd64 or arm64).
  • On a tight budget: the docs say you can start with 1 CPU core and 1 GB RAM and upgrade as your workloads grow. Coolify can even start on 1 core / 512 MB / 4 GB, but that isn't recommended. If builds and Coolify share one small server, keep an eye on resource usage: heavy builds can make the server unresponsive.
  • A real example from the docs: one Coolify maintainer runs a mixed production workload on a Hetzner CAX11 with 2 vCPU, 4 GB RAM and 40 GB disk. It hosts 16 static sites, 9 Rust API services, 5 full-stack Rust apps, 4 Rust Discord bots, 7 Rust workers, 2 Valkey databases and 1 PostgreSQL database, plus Coolify itself and Beszel. Average use is about 2.6 GB RAM and 60 to 70% CPU. The apps are built elsewhere and heavily optimized, so treat this as a rough reference, not a promise.
  • Builds are usually the heavy part. By default, Coolify builds on the server that runs the app. To keep a small VPS for running apps only, add a separate build server or build in CI and deploy the image.
  • Start small, scale later. Coolify's own guidance is that one right-sized server is easier to run than several. Add servers when load or availability needs justify it.

How it works

  1. Connect your Git repository. GitHub, GitLab, Bitbucket, Gitea and others: a public repo, a deploy key for a private repo, or a GitHub App with built-in webhooks.
  2. Push to deploy. Turn on "Deploy on push" and every commit to your branch triggers a build and deploy, with logs you can follow.
  3. Get HTTPS automatically. Point your domain at the server and enter it with https://. The built-in proxy (Traefik or Caddy) requests and renews the certificate.
  4. Add more servers when you need them. Coolify connects over SSH and installs Docker Engine and Compose for you.

What Coolify handles so you don't touch Docker by hand

  • Builds. Nixpacks or Railpack detect your language and framework. You can also bring a Dockerfile, a Docker Compose file, a static site or a prebuilt image.
  • Containers and Compose files. Coolify generates the Compose configuration for apps and databases, so you don't write one per resource.
  • Free SSL. Let's Encrypt certificates for your custom domains are set up and renewed automatically.
  • Databases with backups. One-click PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, Dragonfly and ClickHouse. Scheduled database backups can upload to any S3-compatible storage.
  • Volume and directory backups. Since v4.3.0, you can schedule backups of an app's volumes and directory mounts, stored locally or on S3-compatible storage with retention controls.
  • One-click services. 360+ ready-made services.
  • Preview deployments. Pull and merge requests from GitHub, GitLab, Gitea and Bitbucket can get their own preview deployment.
  • Rollbacks. Roll back to a previous image that's still on the server.
  • Webhooks, API, CLI and MCP. Trigger deploys from any CI. Script Coolify with the CLI or API. Or connect an AI client through Coolify's MCP server, which uses your existing API tokens and team permissions.
  • Notifications. Alerts for deployments, backups, scheduled tasks and server events via email, Discord, Telegram, Slack/Mattermost, Pushover or a webhook.
  • Browser terminal. Open a shell on a server or a running container from the dashboard.

Coolify vs lighter single-purpose tools

Coolify isn't the smallest option, and sometimes a lighter tool is the better fit:

  • Your VPS has 1 GB of RAM or less and you'll stay there. Coolify documents 2 GB as its minimum. Some tools are built to need less. Pier, for example, ships as a single binary and lists 512 MB / 1 vCPU as its minimum. Dokku documents 1 GB for its default Docker scheduler.
  • You're happy with a terminal and a config file. Dokku gives you a Heroku-style git push workflow on one host. Kamal runs from your own machine over SSH, with no dashboard on the server at all.
  • You deploy one app and don't need the extras. If you don't need databases, backups, previews or team access in a UI, a smaller tool means less to run and update.

What Coolify adds when you need more than "run my container":

  • A web dashboard for apps, databases and 360+ one-click services in one place.
  • Database backups and volume/directory backups to S3-compatible storage.
  • Preview deployments across GitHub, GitLab, Bitbucket and Gitea.
  • Teams with Owner, Admin and Member roles. Note that roles are team-wide, with no per-project permissions.
  • Multiple servers and separate build servers from one dashboard.
  • An API, a CLI and a built-in MCP server for automation and AI agents.
  • A managed option: Coolify Cloud runs the dashboard for you from $5/month for 2 servers, plus $3/month per additional server.

For a feature-by-feature look, see Coolify vs Dokploy vs CapRover vs Dokku vs Kamal.

Requirements and honest limits

  • Server size. The minimum for the server running Coolify is 2 cores, 2 GB RAM and 10 GB disk. Smaller works but isn't recommended.
  • Linux only. On other systems you'd need a Linux VM.
  • Use a fresh server to avoid conflicts with apps that are already running.
  • Open ports 80 and 443 and point DNS at the server for HTTPS.
  • Builds use your server's CPU and RAM unless you add a build server.
  • You still own the server. OS updates, firewall, SSH access and a tested backup-and-restore plan are your job, whether you self-host or use Cloud. Rollbacks don't undo database migrations or restore data.

Coolify Cloud vs self-hosted

Both have the same features, and your apps run on your own servers either way.

  • Self-hosted: free and open source (Apache 2.0), with no feature limits. You install, update and back up the Coolify instance.
  • Coolify Cloud: the Coolify team hosts, updates and backs up the dashboard at app.coolify.io. It costs $5/month for 2 servers, plus $3/month for each additional server.

FAQ

Do I need to know Docker to use Coolify?

No. Nixpacks or Railpack can build most repositories without a Dockerfile, and Coolify creates and runs the containers for you. If you already use Dockerfiles or Compose files, Coolify supports those too.

What size VPS do I need for Coolify?

The documented minimum is 2 CPU cores, 2 GB RAM and 10 GB disk. Plan for more as you add apps, databases and builds.

Can Coolify run on a 1 GB VPS?

It can, but it's below the recommended minimum. The docs suggest starting with 1 core and 1 GB only if cost is a concern, watching resource use (especially during builds), and upgrading as you grow. If you'll always be on 1 GB or less, a lighter single-purpose tool may suit you better.

How long does the install take?

One command does the install. coolify.io says the self-hosted version is "ready on your server in under a minute". After that, you open port 8000 and create your admin account.

Can I use my own domain with free HTTPS?

Yes. Point DNS at your server, add the domain with https://, and Coolify's proxy gets and renews a Let's Encrypt certificate.

How do I back up my databases and files?

Set a backup schedule on the database, and optionally on the app's volumes or directory mounts. You can send copies to S3-compatible storage. Test a restore before you rely on it.

Is Coolify really free?

Yes. Self-hosted Coolify is free and open source with every feature included. Coolify Cloud is an optional paid service that runs the Coolify instance for you.

Get started.

Got a VPS? Run the one-line installer and deploy your first app. Rather not run the dashboard yourself? Try Coolify Cloud.