# Deploy apps with Coolify on your own VPS

> Install Coolify on a fresh server, secure its dashboard, give it a domain with HTTPS, and deploy your first app from Git. Ports, backups and updates.

Source: https://vpsnine.com/help/deploy-apps-with-coolify · Updated: 2026-10-16

Coolify is an open-source, self-hosted platform that deploys apps, databases and services from Git, with automatic HTTPS, much like Heroku or Vercel on a server you own. You install it with one command on a fresh server with at least 2 CPU cores and 2 GB of memory, then do everything else in its web dashboard.

This guide covers the install, the security steps people skip, and a first deployment.

## What you need

- A **fresh** server running Ubuntu 24.04 or Debian 12 or 13. Coolify takes over Docker and ports 80 and 443, so don't install it next to an existing nginx or Docker setup.
- At least **2 CPU cores and 2 GB of memory** for Coolify itself, per its documentation. Your apps need memory on top of that, so 4 GB is a more comfortable start.
- Disk for Docker images and builds. They add up quickly; 40 GB fills sooner than you'd think with a few apps.
- A domain you can add DNS records to.

## Lock down port 8000 before you install

Right after the install, Coolify's dashboard is on `http://<your server's IP>:8000`, and **whoever opens it first becomes the admin**, with root on your server. Scanners find new servers fast.

So either be ready to create the account the moment the installer finishes, or restrict the port to your own address first. Docker publishes ports past ufw, so ufw can't do this; a firewall in front of the server can. On VPSNine, the [panel firewall](https://vpsnine.com/help/server-firewall) does it with these rules and the default set to deny, with `203.0.113.7` replaced by your own IP:

```text
allow tcp 22
allow tcp 80
allow tcp 443
allow tcp 8000 from 203.0.113.7
allow tcp 6001-6002 from 203.0.113.7
```

Ports 6001 and 6002 carry the dashboard's live updates and web terminal while you're using the IP address.

## Install

Log in as root and run Coolify's installer:

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

It installs Docker if needed, pulls Coolify's containers and starts them. It takes a few minutes. When it finishes, it prints the dashboard address.

Open `http://203.0.113.10:8000` (your server's address) and create the admin account straight away, with a strong password. Then turn on two-factor login in your profile.

## Give the dashboard a domain

Working over plain HTTP on an IP address is fine for five minutes, not for good. Point a domain at the server: at your DNS provider, add an `A` record for `coolify.example.com` with the server's IPv4 address.

For your apps, a wildcard record saves adding one per app: an `A` record for `*.apps.example.com`, pointing at the same address.

In Coolify, open **Settings**, set the instance's domain to `https://coolify.example.com` and save. Coolify's proxy (Traefik) requests a Let's Encrypt certificate. Reload the dashboard on its new address.

Once that works, close 8000, 6001 and 6002 to the world. Everything now goes over 80 and 443. In the panel firewall, delete those lines.

## Deploy your first app

1. In Coolify, create a **Project**. It's just a folder for related apps.
2. Add a **Resource** and choose **Public Repository** for an open repository, or connect GitHub or a deploy key for a private one.
3. Paste the repository URL. Pick a build pack:
   - **Nixpacks** works out how to build common Node.js, Python, Go, PHP and Ruby apps on its own.
   - **Dockerfile** uses the one in your repository.
   - **Docker Compose** runs a `compose.yaml` from the repository.
4. Set the **domain**, like `https://myapp.apps.example.com`, and the port your app listens on inside its container.
5. Add environment variables if the app needs them, then **Deploy**.

Coolify builds the image, starts the container, and gets a certificate for the domain. The build log streams in the dashboard. Turn on automatic deployments and every push to the branch redeploys.

For a database, add a resource and choose PostgreSQL, MySQL, Redis or another from the list. Coolify gives you a connection string to paste into your app's environment. Don't make databases public unless you really mean to.

## One-click services

Coolify also has a catalogue of ready-made services, from n8n and Uptime Kuma to Plausible and Gitea. Add a resource, choose **Service**, pick one and give it a domain. It's a quick way to try things without writing a Compose file.

## Backups

Coolify can back up its databases on a schedule to any S3-compatible storage. Set up an S3 destination under **Storages**, then turn on scheduled backups for each database and for Coolify's own database in **Settings**.

That doesn't cover files your apps keep in volumes. For those, copy the volumes off the server on a schedule; [Backups you should run](https://vpsnine.com/help/backups-you-should-run) has the approach. A server snapshot before upgrades is cheap insurance too.

## Updates

Coolify updates itself automatically by default, which you can change in **Settings**. Its update notes are worth reading before a big version. Keep the server itself patched as well: [automatic security updates](https://vpsnine.com/help/automatic-security-updates) handle the operating system, and Coolify handles its own containers.

## When it goes wrong

- **The dashboard won't load after the install**: check the containers with `docker ps`. All the `coolify` ones should be up. `docker logs coolify` says why if one isn't.
- **An app's certificate never arrives**: DNS for that domain doesn't point at the server yet, or port 80 is blocked. Let's Encrypt needs both.
- **Builds fail with out-of-memory errors or the server freezes during a build**: building images is memory-hungry. Add [swap](https://vpsnine.com/help/add-swap), build fewer things at once, or move up a plan.
- **The disk fills up**: old images and build caches. Coolify can clean them up on a schedule in the server's settings; `docker system df` shows what's using space.

## Doing it on VPSNine

The [Coolify one-click app](https://vpsnine.com/apps/coolify) runs the official installer on the first boot. Set the panel firewall rules above as soon as the server shows up in the panel. Give the installer about five minutes after the server is ready, then open `http://<your IPv4>:8000` and create your admin account.

Coolify needs at least the Standard plan, with 2 vCPUs and 4 GB of memory, and is available on Ubuntu and Debian. If you'll build lots of apps on the server itself, Extreme gives builds more room. The [plans page](https://vpsnine.com/plans) has the specs.
