Introduction

Coolify is an open-source & self-hostable alternative to Heroku / Netlify / Vercel / etc. It helps you manage your servers, applications, and databases on your own hardware; you only need an SSH connection. You can manage VPS, Bare Metal, Raspberry PIs, and anything else. No vendor lock-in, which means that all the configurations for your applications, databases and other services are saved to your server. Official Documentation

It can be used as a CI CD tool, connected to your Git repository on Github, so any commits on the main branch can trigger a automatic deploy on your server, specially powerful paired with repositories configured with Docker Compose.

It can also be used as monitoring tool, and more. Configure your applications, databases, and services with a simple UI.

In Depth Video Tutorial Quick Video Tutorial

Minimum Requirements

  • 2 CPUs
  • 2 GBs memory
  • 30+ GB of storage for the images.
  • SSH access

Installation

Ubuntu

# Requirements
sudo apt-get install -y curl
# Install Coolify
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Setup

Info

From now on, I will be considering the Server IP address as 192.168.1.2. Thus, the url http://192.168.1.2:8000 will be the example for the Coolify url. Replace it with your own server’s ip address.

Access the Coolify dashboard on your browser

Based on the url given by the end of the installation process, access the dashboard on your browser.

Create Account

Fill the form with name, email and password

Warning

The initial connection is HTTP (not secure), so its recommended to use an arbitrary password for the first login, and then change it to a secure one.

Add a Server

Click on the Localhost button to use the server you are accessing the dashboard from as the server for hosting the applications inside Coolify. Then Click on Create New Project to go to the main dashboard.

Configure the DNS to point to your server

Cloudflare tunnel

To expose the server, I will be using the Cloudflare tunnel, so you don’t need to expose the server to the internet, only to the Cloudflare tunnel, which will be the one responsible for the secure connection. Follow the Installation guide to configure your tunnel.