All Posts

Coolify Deployment Notes

Quick notes from deploying Coolify on a Hetzner cloud server.

Published Mar 4, 2025·2 min read

The Setup

  • Coolify Cloud
  • Hetzner Cloud
    • Ubuntu 24.04
    • Shared vCPU
      • 4 vCPUs
      • 8GB RAM
      • 160GB SSD
      • 20TB Traffic

References

Steps

Provisioning and Preparing the Cloud Server

  1. Pick an appropriate spec

    • Coolify itself needs 2 CPUs, 2GB RAM, and 30GB+ of storage
  2. Set up an SSH key locally and paste the public key into the SSH key settings

  3. Set up the cloud config

    Ubuntu 24.04 Cloud Config

  4. Connect over SSH from your local machine

    • Type ssh root@your-server-address
    • apt update && apt upgrade

Installing and Configuring Coolify

  1. Install Coolify
    • Reference docs
    • Run the command and wait for the install to finish curl -fsSL <https://cdn.coollabs.io/coolify/install.sh> | sudo bash
    • Once Coolify is up, open the address printed in the terminal (something like 0.0.0.0:8080) and create an account
    • Then pick the configuration that fits your needs
      • I went with Localhost here
  2. VPS security setup
    • Log in to the VPS with the user from the earlier cloud config and change the default password
    • SSH into the VPS as that user
    • Set a rescue-mode password
      • sudo su
      • passwd
      • exit
  3. Configure the HTTPS certificate and wildcard domain in Coolify
    • Set up the DNS records
      • A * 服务器地址
      • A @ 服务器地址
    • Coolify → Settings → Instance Settings
      • Change the Instance's Domain to https://coolify.你的域名
    • Coolify → Servers → localhost → Wildcard Domain
      • Change the Wildcard Domain to https://你的域名
  4. Switch the proxy
    • Coolify → Servers → Proxy
      • Stop the current proxy
      • Switch to Caddy
      • Make sure your domain shows up in the File: coolify.caddy entry under Dynamic Configurations
      • Access Coolify via https://coolify.你的域名
  5. In the profile settings, change your Coolify password and enable 2FA

Creating a Firewall and Disabling Every Port You Don't Need

  • The ones you do need: TCP 22,80,443