Coolify is an open-source, self-hosted alternative to Heroku and Vercel that makes it easy to manage your servers, applications, and databases.
Coolify's intuitive dashboard makes self-hosting a breeze. You have full control over your infrastructure, automated GitHub deployments, and can keep your cloud costs low.
In this guide, we'll show you step by step how to set up Coolify, preconfigure your admin account, and configure everything you need to know.
Coolify is lightweight, but resource usage can increase significantly depending on the number of deployed apps, Docker builds, and running databases. We recommend the following hardware requirements for running Coolify on your VPS/Dedicated Server:
| Hardware | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPU cores | 4 vCPU cores |
| RAM | 2 GB | 4 GB+ |
| Disk space | 30 GB | 50 GB+ |
Before installing Coolify, connect to your server and make sure the operating system is up to date. You must connect via SSH with root access. If you need help, see our guide to initial SSH access.
SSH key authentication
We strongly recommend setting up SSH key authentication instead of using a password. Learn how in our SSH key setup guide.
After connecting to your server, update your system packages and install curl, which is required to download the Coolify installation script:
sudo apt update && sudo apt upgrade -y && sudo apt install curl -y
Coolify enforces strict security rules for your admin account. Before running the installation script, prepare your root user credentials according to these requirements:
- Username
- At least 3 characters long
- No more than 255 characters
- Only letters, numbers, spaces, underscores, and hyphens are allowed
- Email
- Must be a valid email address
- Must have a valid DNS record
- No more than 255 characters
- Password
- At least 8 characters long
- Must contain uppercase and lowercase letters
- At least one number
- At least one special character
- Must not be a commonly used or compromised password
Coolify provides a quick, automated installation script. To secure the installation, we'll set the root admin credentials using environment variables beforehand. This prevents unauthorized access during setup.
Run the following command, replacing the username, email, and password with your secure credentials:
env ROOT_USERNAME=zaphosting ROOT_USER_EMAIL=info@zap-hosting.com ROOT_USER_PASSWORD=zaphosting bash -c 'curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash'
Open source
You can find the installation script's source code in the official Coolify repository
The script automatically installs Docker, sets up the required networks, and configures the Coolify containers. Depending on your server hardware, this may take a few minutes.
After installation, you can open the dashboard in your browser. Enter your server's IP address with port 8000: http://[deine_server_ip]:8000
Since you entered your credentials in the installation command, you'll go directly to the login screen instead of the setup wizard.
Log in with the email and password you used in the terminal.
After logging in, the first thing you should do is set up your own domain. Accessing Coolify via the IP address (http://[deine_server_ip]:8000) is not secure.
With a domain, Coolify can automatically create free SSL certificates for your dashboard and all future apps.
Go to your domain provider's DNS management and add two new A records pointing to your server. If your domain is registered with ZAP-Hosting, our Domain Records guide will help you set them up:
| Name / Host | Type | Value | TTL |
|---|---|---|---|
@ | A | [deine_server_ip] | Auto / Low |
* | A | [deine_server_ip] | Auto / Low |
DNS routing
- The
@record allows Coolify to use the root domain - The
*wildcard record ensures Coolify automatically routes all new subdomains (e.g.,api.[deine_domain]), without requiring you to create DNS records for each project.
To secure your Coolify instance with an SSL certificate, you should assign it a domain. In the left-hand menu, go to Settings and find the Instance Domain field. Enter your domain, including https:// (e.g., https://coolify.[deine_domain]). Save the change.
