How to install Coolify on a VPS
Coolify gives you a web interface for deploying applications, databases and services on your own server. This guide prepares an Ubuntu VPS, installs the Docker foundation and walks through the official Coolify installation flow, first login and basic maintenance.
Prerequisites
Your VPS must meet the official minimum requirements: 2 vCPU, 2 GB RAM, 30 GB disk, Ubuntu 22.04 or 24.04, a public IPv4 address, root or sudo access and SSH enabled.
Before connecting, create an A record such as coolify.example.com that points to the server IP. The DNS record can take time to propagate. You also need a local SSH client and basic knowledge of package management, file permissions and firewall rules.
Do not place credentials in this article's commands. You will create the administrator account in the browser and should use a password manager for generated secrets.
Note: Non-LTS Ubuntu releases (e.g., 24.10, 25.04) are not officially supported and require manual installation steps.
Step 1, Connecting to your server
Connect as the administrator supplied by your VPS provider, then update the operating system:
ssh root@SERVER_IP
apt update && apt upgrade -y
apt install -y curl ca-certificates gitReplace SERVER_IP with the real address. If your provider gives you a non-root user, prepend sudo to the package commands and use sudo -i only when the provider recommends it.
Set the hostname if the machine is dedicated to this installation, then confirm that the clock and DNS resolver work. Avoid installing a second web server that already listens on ports 80 or 443. Coolify's proxy needs those ports for HTTP, HTTPS and certificate validation.
Step 2, Installing Docker and Docker Compose
Install Docker Engine and the Compose plugin from Docker's official instructions for your Ubuntu release. The package names normally include docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin and docker-compose-plugin.
After installation, verify both commands:
docker --version
docker compose version
systemctl enable --now dockerDo not copy an installation command from an untrusted blog. Docker's repository setup changes over time, so use the current Ubuntu instructions from Docker. A successful version check only proves that the runtime exists, not that the server is ready for production.
Important: If you pre-install Docker, use Docker's official apt repository. Docker installed via Snap is NOT supported by Coolify and WILL break the installation.
Step 3, Running Coolify with the official installer
Coolify publishes an official one-line installer that prepares its Docker containers and supporting configuration:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bashThe installer creates the application data and starts the required services. When it finishes, inspect the containers and recent logs:
docker ps
docker compose ls
docker logs --tail 100 coolifyThe exact container names can vary by release. If coolify is not the name shown by docker ps, use the name or project displayed there. Do not delete volumes while troubleshooting, because those volumes contain the dashboard configuration and deployment metadata.
Warning: Immediately after installation, create the administrator account through the web UI at http://SERVER_IP:8000. If someone else registers first, they can take control of your Coolify instance.
Step 4, Configuring the reverse proxy
Coolify includes a built-in Traefik proxy that manages Let's Encrypt for deployed applications. You do NOT need to set up a separate reverse proxy on the host. The host only needs ports 80 and 443 open.
Allow inbound TCP traffic on ports 80 and 443, and keep SSH restricted to your administration IP range when your provider supports that rule. A minimal host firewall setup looks like this:
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw statusIn the Coolify dashboard, add the server, choose the deployment proxy and configure your domain. Point the domain's DNS record to the VPS before requesting a certificate. Coolify can request and renew a Let's Encrypt certificate when the domain resolves correctly and the proxy can reach ports 80 and 443.
Step 5, First access and initial setup
Open the installation address in your browser. Complete the first administrator setup, sign in and change any temporary values immediately. Add a project only after confirming that the server is online and that the proxy reports healthy.
For a safe first deployment, use a small stateless test application. Confirm that the application domain resolves over HTTPS, that the container restarts after a reboot and that logs are visible in the dashboard. Add databases only after you have decided how their volumes will be backed up.
Maintenance
Check the release notes before every Coolify update. Back up the Coolify data directory and all application volumes to storage outside the VPS. Keep Docker images and old logs under control, and monitor disk usage with df -h and container usage with docker system df.
If an update fails, collect docker ps, docker compose ls and the relevant service logs before changing configuration. Do not run broad cleanup commands that remove unused volumes unless you have verified that no deployed application needs them.
Tools mentioned
Coolify
โSelf-host your applications with an open-source Heroku alternative on your own VPS.
Free and open source. Self-hosted on your own VPS with unlimited projects, databases and deployments.