Installation - Self-hosted
Prerequisites
Server Requirements
You need a server with SSH access. This can be:
- A VPS
- A Dedicated Server
- A VM in Proxmox
- A Raspberry Pi (for all compatible models read the Raspberry Pi OS Setup Guide prerequisites)
- Any other server with SSH access
Supported Operating Systems
- Debian based Linux distributions (Debian, Ubuntu, etc.)
- Redhat based Linux distributions (CentOS, Fedora, Redhat, AlmaLinux, Rocky, Asahi, etc.)
- SUSE based Linux distributions (SLES, SUSE, openSUSE, etc.)
- Arch Linux
- Raspberry Pi OS 64-bit (Raspbian)
- Alpine Linux
Supported Architectures
We only support 64-bit architectures:
- AMD64
- ARM64
Minimum Hardware Requirements
Server Requirements for Coolify
- 2 Core CPU
- 2 GBs memory (RAM)
- 30+ GB of storage for the images
If you build and host on the same server as Coolify and your builds are utilizing all available memory, this may cause the server to become unresponsive or even crash. To prevent this, consider enabling swap space on your server (or paying for more resources).
Server Requirements for Your Resources
Choosing your server resources depends on your usage. If you are planning to run a lot of things, you should consider buying a server with more resources.
Hosting Supabase
, Appwrite
or Posthog
requires more resources than hosting a static site (waay more).
Installation Methods
1. Quick Installation (Recommended)
-
Prepare Your Servern
- Log in as the
root
user (non-root user is not fully supported yet [non-root-user](/docs/ knowledge-base/server/non-root-user)) - Configure SSH by following the SSH Settings Configuration Guide
- Configure required firewall ports using the Firewall Guide (if you are an advanced user you can have this configured differently)
- Ensure
curl
is installed (pre-installed on most systems)
- Log in as the
-
Run the Installation Script
View the Scripts Source Code
-
Access Coolify
- You can find the URL of your Coolify instance in the installation output.
- It is recommended to use the PrivateIP to access Coolify as it is more secure (a VPN setup to your Server is needed for that to work).
The installer does the following:
- Installs required tools (
curl wget git jq openssl
) - Installs Docker Engine (27)
- Configures Docker logging
- Configures Docker daemon with default address pools
- Creates directory structure at
/data/coolify
- Sets up SSH keys for server management
- Installs and starts Coolify
2. Manual Installation
For users who prefer more control over the installation process.
-
SSH Configuration Make sure SSH is enabled and configured correctly like shown in the SSH Configuration Guide.
-
Install Required Tools Make sure the
curl
command is available on your server. -
Install Docker Engine Follow the official documentation to install Docker Engine (24+) on your server: Docker Engine Installation.
-
Configure Docker Configure Docker logging and default address pools by editing
/etc/docker/daemon.json
with the following configuration (the adress pools can also be configured differently)After saving the configuration, restart Docker:
-
Create Directory Structure Create the base configuration directories under
/data/coolify
. -
Generate SSH Keys Generate an SSH key for Coolify to be able to manage this server from itself.
-
Configure SSH Access Add your public SSH key to
~/.ssh/authorized_keys
. This will allow Coolify to connect to this server from itself. -
Download Configuration Files Copy the
docker-compose.yml
,docker-compose.prod.yml
,.env.production
&upgrade.sh
files from Coolify’s CDN to/data/coolify/source
. -
Set Permissions Set permissions for all the files and directories.
-
Configure Environment Variables Generate values for the following variables in
/data/coolify/source/.env
. -
Configure Root User (Recommended) Configure Root User via Environment Variables. To prevent the registration page from ever being exposed, you can configure a root user in your
.env
file. Read more about this in the Create Root User with Environment Variables guide. -
Create Docker Network Make sure the default
coolify
Docker network is available. -
Start Coolify
-
Access Installation Now you can access Coolify on port
http://<ip>:8000
of your server.
3. Docker Desktop Installation
For local development and testing purposes only.
- Install Docker Desktop for Windows.
- Create a directory that will hold all your Coolify related data. For example in your User directory:
C:\Users\yourusername\coolify
. - Copy
docker-compose.windows.yml
and.env.windows-docker-desktop.example
to the directory you created in the previous step. - Rename
docker-compose.windows.yml
todocker-compose.yml
. - Rename
.env.windows-docker-desktop.example
to.env
. - Create a
coolify
docker network withdocker network create coolify
. - Optional: Change the values in
.env
file. - Start Coolify with
docker compose up
command. - You can access Coolify on port
localhost:8000
of your machine.