Start with Self-hosted
Self-hosting Coolify means you run the Coolify instance on infrastructure you control.
Before you begin
Check these requirements first so you pick the right install method and avoid server, OS, or network issues halfway through setup.
| Section | Check |
|---|---|
| 1. Server requirements | Confirm you have a server or device with SSH access. |
| 2. Supported operating systems | Confirm your Linux distribution is supported. |
| 3. Minimum hardware requirements | Confirm CPU, memory, disk, and architecture fit Coolify. |
| 4. Server resources for your projects | Confirm your server has enough CPU, memory, and storage for your workloads. |
| 5. Configure SSH access and firewall | Confirm SSH access and required firewall ports are ready. |
1. Server requirements
You need a server with SSH access. This could be:
2. Supported operating systems
| Base | Distributions | Notes |
|---|---|---|
| Debian-based | Debian, Ubuntu | Ubuntu non-LTS: use Manual install |
| Red Hat-based | CentOS, Fedora, Red Hat, AlmaLinux, Rocky, TencentOS, Asahi | Docker may need manual pre-install on some variants |
| SUSE-based | SLES, SUSE, openSUSE | Supported |
| Arch-based | Arch Linux | Supported |
| Alpine-based | Alpine Linux | Supported |
| Raspberry Pi OS | Raspberry Pi OS (64-bit) | Use 64-bit image |
3. Minimum hardware requirements
| Item | Minimum | Notes |
|---|---|---|
| CPU | 2 cores | Increase cores if running multiple workloads on one server. |
| Memory | 2 GB RAM | Increase memory as your workload grows. |
| Disk | 10 GB free space | Keep additional space for Docker images, volumes, and backups. |
| Architecture | amd64 or arm64 | ARM64 is required for Raspberry Pi OS installations. |
4. Server resources for your projects
The resources you need depend on your projects. If you host multiple services or larger applications, choose a server with higher CPU, memory, and storage.
5. Configure SSH access and firewall
SSH access
Configure OpenSSH so Coolify can connect to your server.
- Confirm SSH works from your machine
- Use root or a sudo-capable user
Firewall ports
Open the required ports on firewall.
- Allow SSH access
- Open Coolify and application ports
Choose installation method
Automated
Run one script to install Coolify automatically.
- Recommended by the Coolify team
- One-command installation via script
- Requires root user access
Manual
Run each install step yourself for full control.
- Works with existing Docker installations
- Non-root and custom setups
- You configure networking, volumes, and secrets
Raspberry Pi OS
Properly configure Raspberry Pi before installing Coolify.
- Requires 64-bit Raspberry Pi OS
- ARM64 architecture required
- Compatible with both Automated and Manual install
Automated installation
1. Run the install script
Open your terminal and SSH into your server as root or a user with sudo privileges, then run the command below:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash-
If Docker is installed through snap, remove it and install Docker Engine using the official Docker method or let the install script handle it automatically.
-
If you use Ubuntu, use an LTS release such as 20.04, 22.04, or 24.04. Non-LTS Ubuntu releases can behave differently, so use the manual installation method if you run into installer issues.
2. Access the dashboard
After installation, you’ll see a “Congratulations!” message with the dashboard link in your terminal.
Open http://192.168.1.69:8000 in your browser (replace 192.168.1.69 with your server IP) and create your admin account.
Create your admin account as soon as installation finishes. Anyone who reaches the registration page first can become the instance admin and gain root access to your server.
3. Back up installation secrets
Back up /data/coolify/source/.env and keep it somewhere safe.
This file contains installation secrets such as APP_KEY, which is used to encrypt Coolify database values. You need this file if you ever want to restore Coolify from a backup.
That's it!, you can start using Coolify.
After setup
Once Coolify is running, start by deploying something on the same server where Coolify is installed. When that works, expand to more servers or use the maintenance guides as needed.
Deploy an application
Start with an app deployment once your server is connected.
Deploy a database
Add a database when your first app needs persistent data.
Deploy a service
Launch a one-click service from the service catalog.
Grow beyond one server
Add more compute capacity when your workloads outgrow the first server.
Ongoing operations
Use these guides when you need to maintain or remove your Coolify instance.
Advanced installations
These options are optional and mostly useful for automation or custom infrastructure requirements.
Test advanced changes on a non-production server first. If you manage production workloads, keep backups and a rollback path before applying advanced install settings.
1. Root user
Use this when you want to pre-create the root account during installation, so the registration page is never exposed.
| Variable | Required | Notes |
|---|---|---|
ROOT_USERNAME | Yes | 3-255 characters. Allowed: letters, numbers, spaces, underscores, and hyphens. |
ROOT_USER_EMAIL | Yes | Must be a valid email format with a valid DNS record, up to 255 characters. |
ROOT_USER_PASSWORD | Yes | At least 8 characters with uppercase, lowercase, number, and special symbol. |
env ROOT_USERNAME=RootUser \
[email protected] \
ROOT_USER_PASSWORD='StrongPassword123!' \
bash -c 'curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash'If you are not logged in as root:
sudo -E env ROOT_USERNAME=RootUser \
[email protected] \
ROOT_USER_PASSWORD='StrongPassword123!' \
bash -c 'curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash'