Skip to content

[ Anolilab — Article / Self-hosting ]

Self-hosting Coolify: your own Vercel or Heroku on one server

Install Coolify on a VPS, connect GitHub and get push-to-deploy with HTTPS for all your apps, on a single server.

Article by
Daniel Bannert · Founder · Anolilab

In short

Coolify is an open-source platform you run yourself: you connect a Git repository, and Coolify builds the app, deploys it and puts HTTPS in front of it, much like Vercel, Netlify or Heroku. The difference: it runs on a server you rent. Ten small apps cost the same as one, as long as the server is big enough for all of them. In return, updates, backups and broken deploys are on you.

When Coolify makes sense

  • You have several small apps, APIs or databases, and the platform bills are adding up.
  • You can and want to run operations yourself: updates, backups and the occasional failed deploy.

For a single static site, stay with a free static host. If you want to understand every moving part, use Docker with Caddy instead.

Server requirements

Coolify is open source under the Apache 2.0 licence. According to the Coolify documentation, Coolify itself needs at least 2 CPU cores, 2 GB RAM and 10 GB of disk. That is for Coolify alone. Building your apps needs extra memory, depending on the project a lot more. For real use, 4 GB RAM is a comfortable start.

Good fits: Hetzner Cloud, netcup VPS (Paid link), DigitalOcean (Paid link) or Vultr. Hetzner has restricted orders of new cloud servers since June 2026; details and dated prices are in the VPS provider comparison.

Setup

  1. Install

    On a fresh server with Ubuntu 24.04 LTS, run the official install script as root (command below). It installs Docker and Coolify.

  2. Create the admin account right away

    Open http://YOUR-SERVER-IP:8000 and create the admin account immediately. Whoever reaches the registration page first becomes admin and with that gets root access to the server. Coolify only accepts the first account within 10 minutes of starting.

  3. Give the dashboard a domain

    Create a DNS A record such as coolify.your-company.com pointing at the server. In Coolify, go to Settings → General, enter https://coolify.your-company.com in the URL field and save. Then close port 8000 in your provider's firewall.

  4. Connect GitHub

    Open Sources in the sidebar and choose New source → GitHub App. Private repositories work too.
  5. Create the app and deploy

    New project, your repository as a resource, pick a build method, set domain and environment variables, deploy.

The install command from the Coolify documentation:

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

So that every app gets a subdomain without a new DNS record, also create a wildcard record such as *.apps.your-company.com and enter https://apps.your-company.com under Servers → your server → General in the Wildcard Domain field (Coolify documentation).

Build methods

  • Nixpacks detects Node, Python, Go, PHP and other languages automatically. Railpack is Railway's newer build system and still marked beta in Coolify.
  • Dockerfile if your project already has one.
  • Docker Compose for apps made of several services.
  • Static for plain static sites.

From then on, every push to the chosen branch triggers a new deploy. One condition: GitHub has to be able to reach your Coolify instance, or the webhooks never arrive.

Databases and backups

Postgres, MySQL, MariaDB, MongoDB, Redis and other databases are ready-made services in Coolify. Turn on scheduled backups right away: in the database, open Backups, click + Add next to Database backups, set a schedule such as daily and enable the backup. Under S3 storage, Coolify also copies every backup to S3-compatible storage. This is the step people skip and regret later.

Redis and similar stores don't get these scheduled backups (Coolify documentation); for those you need the database's own persistence and backup tools.

Tips from running it

  • Builds need RAM. If a build stops with exit code 137, the process was killed, usually because memory ran out. Fixes: add swap, a bigger server, or build images in GitHub Actions and let Coolify only pull finished images.
  • Separate building and running once one server is not enough: Coolify can manage more servers over SSH, including dedicated build servers.
  • Update Coolify regularly and take a server snapshot before bigger upgrades.

[ Anolilab — Blog ]

More hands-on writing on AI, web development and infrastructure.

Related articles.

[ Anolilab — Contact ]

Tell me what you're building. I'll tell you how I can help.

Let's talk.

Quick response.
If you're ready to create and collaborate, I'd love to hear from you.
Clear next steps.
After the consultation, I'll give you a detailed plan.
Alternatively, you can email me directly at hello@anolilab.com