
If you decide to go with Coolify Cloud, there's no installation required. Simply visit Coolify Cloud Registration ↗ to create an account and start using Coolify within minutes!
Below, you'll find instructions for installing Coolify if you prefer to self-host it.
Self-hosted Installation
If you like taking control and managing everything yourself, self-hosting Coolify is the way to go.
It's completely free (apart from your server costs) and gives you full control over your setup.
⚡️ Quick Installation (recommended):
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
Run this script in your terminal, and Coolify will be installed automatically. For more details, including firewall configuration and prerequisites, check out the guide below.
Before You Begin
Before installing Coolify, make sure your server meets the necessary requirements.
1. Server Requirements
You need a server with SSH access. This could be:
- A VPS (Virtual Private Server)
- A Dedicated Server
- A Virtual Machine (VM)
- A Raspberry Pi (see our Raspberry Pi OS Setup Guide ↗)
- Or any other server with SSH access
Note:
It’s best to use a fresh server for Coolify to avoid any conflicts with existing applications.
Tip:
If you haven't picked a server provider yet, consider using Hetzner ↗. You can even use our referral link ↗ to support the project.
2. Supported Operating Systems
Coolify supports several Linux distributions:
- Debian-based (e.g., Debian, Ubuntu)
- Redhat-based (e.g., CentOS, Fedora, Redhat, AlmaLinux, Rocky, Asahi)
- SUSE-based (e.g., SLES, SUSE, openSUSE)
- Arch Linux
- Alpine Linux
- Raspberry Pi OS 64-bit (Raspbian)
3. Supported Architectures
Coolify runs on 64-bit systems:
- AMD64
- ARM64
⚠️ Note for Raspberry Pi users:
Be sure to use the 64-bit version of Raspberry Pi OS (Raspbian). For details, check our Raspberry Pi OS Setup Guide ↗.
4. Minimum Hardware Requirements
Your server should have at least:
- CPU: 2 cores
- Memory (RAM): 2 GB
- Storage: 30 GB of free space
Coolify may function properly on servers with lower specs than those mentioned above, but we recommend slightly higher minimum requirements.
This ensures that users have sufficient resources to deploy multiple applications without performance issues.
Heads up!
If you’re running both builds and Coolify on the same server, monitor your resource usage. High resource usage could make your server unresponsive.
Consider enabling swap space or upgrading your server if needed.
5. Server Resources for Your Projects
The resources you need depend on your projects. For example, if you're hosting multiple services or larger applications, choose a server with higher CPU, memory, and storage.
⚙️ Example Setup:
Andras runs his production apps on a server with:
- Memory: 8GB (average usage: 3.5GB)
- CPU: 4 cores (average usage: 20–30%)
- Storage: 150GB (average usage: 40GB)
This setup comfortably supports:
- 3 NodeJS apps
- 4 Static sites
- Plausible Analytics
- Fider (feedback tool)
- UptimeKuma (uptime monitoring)
- Ghost (newsletters)
- 3 Redis databases
- 2 PostgreSQL databases
Installation Methods
There are two ways to install Coolify:
- Quick Installation ↗ (Recommended)
- Manual Installation ↗
We highly recommend the Quick Installation method as it automates the process and reduces the chance of errors.
Quick Installation (Recommended)
This is the simplest and fastest way to get Coolify up and running.
1. Prepare Your Server
- Log in as the root user (non-root users are not fully supported yet).
- Configure SSH by following the SSH Settings Guide ↗.
- Set up your firewall with the help of the Firewall Guide ↗.
- Ensure that curl ↗ is installed (it usually comes pre-installed).
2. Run the Installation Script
Once your server is ready, run:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
View the Script's Source Code ↗
Tip:
If you're not logged in as the root user, run the script with sudo:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
You can also set up the first admin account directly during the installation. For details, see: Create Root User with Environment Variables ↗
3. Access Coolify
After installation, the script will display your Coolify URL (e.g., http://203.0.113.1:8000
). Visit this URL, and you'll be redirected to a registration page to create your first admin account.
⚠️ CAUTION:
Immediately create your admin account after installation. If someone else accesses the registration page before you, they might gain full control of your server.
Note:
If you installed Coolify on a Raspberry Pi within your home network, use your private IP address to access it, as the public IP may not work.
What the Installer Does:
- Installs essential tools (curl, wget, git, jq, openssl)
- Installs Docker Engine (version 24+)
- Configures Docker settings (logging, daemon)
- Sets up directories at
/data/coolify
- Configures SSH keys for server management
- Installs and starts Coolify
⚠️ Caution:
Docker installed via snap is not supported!
The quick installation guide ends here. If you’ve followed the steps above, you can start using Coolify now. The guide below is for those who want to manually install and set up Coolify.
Manual Installation
For those who prefer more control, you can install Coolify manually. This method requires a few extra steps.
Prerequisites
- SSH: Ensure SSH is enabled and set up correctly (see SSH Configuration Guide ↗).
- curl: Confirm that curl ↗ is installed.
- Docker Engine: Install Docker by following the official Docker Engine Installation guide (version 24+).
⚠️ Caution:
Docker installed via snap is not supported!
Follow these steps for a manual setup:
1. Create Directories
Create the base directories for Coolify under /data/coolify
:
mkdir -p /data/coolify/{source,ssh,applications,databases,backups,services,proxy,webhooks-during-maintenance}
mkdir -p /data/coolify/ssh/{keys,mux}
mkdir -p /data/coolify/proxy/dynamic
2. Generate & Add SSH Key
Generate an SSH key for Coolify to manage your server:
ssh-keygen -f /data/coolify/ssh/keys/[email protected] -t ed25519 -N '' -C root@coolify
Then, add the public key to your ~/.ssh/authorized_keys
:
cat /data/coolify/ssh/keys/[email protected] >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Tip!
If you already have an SSH key, you can skip generating a new one, but remember to add it to your Coolify instance after installation.
3. Setup Configuration Files
Download the necessary files from Coolify’s CDN to /data/coolify/source
:
curl -fsSL https://cdn.coollabs.io/coolify/docker-compose.yml -o /data/coolify/source/docker-compose.yml
curl -fsSL https://cdn.coollabs.io/coolify/docker-compose.prod.yml -o /data/coolify/source/docker-compose.prod.yml
curl -fsSL https://cdn.coollabs.io/coolify/.env.production -o /data/coolify/source/.env
curl -fsSL https://cdn.coollabs.io/coolify/upgrade.sh -o /data/coolify/source/upgrade.sh
4. Set Permissions
Set the correct permissions for the Coolify files and directories:
chown -R 9999:root /data/coolify
chmod -R 700 /data/coolify
5. Generate Values
Update the .env
file with secure random values:
sed -i "s|APP_ID=.*|APP_ID=$(openssl rand -hex 16)|g" /data/coolify/source/.env
sed -i "s|APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|g" /data/coolify/source/.env
sed -i "s|DB_PASSWORD=.*|DB_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.env
sed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.env
sed -i "s|PUSHER_APP_ID=.*|PUSHER_APP_ID=$(openssl rand -hex 32)|g" /data/coolify/source/.env
sed -i "s|PUSHER_APP_KEY=.*|PUSHER_APP_KEY=$(openssl rand -hex 32)|g" /data/coolify/source/.env
sed -i "s|PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|g" /data/coolify/source/.env
⚠️ Important:
Run these commands only the first time you install Coolify. Changing these values later can break your installation. Keep them safe!
6. Create Docker Network
Ensure the Docker network is created:
docker network create --attachable coolify
7. Start Coolify
Launch Coolify using Docker Compose:
docker compose --env-file /data/coolify/source/.env -f /data/coolify/source/docker-compose.yml -f /data/coolify/source/docker-compose.prod.yml up -d --pull always --remove-orphans --force-recreate
8. Access Coolify
You can now access Coolify by visiting http://203.0.113.1:8000
(replace the 203.0.113.1
with the IP address of your server).
If you get stuck at any step, feel free to join our Discord community ↗ and create a post in the support forum channel.