UpCloud
Effortless global cloud infrastructure for SMBs
Introducing
If you’re interested in what we have to offer, contact sales or fill out a contact form.
Our support live chat is available for our customers 24/7. You can also email our support team.
Send us an email to give feedback or to say hello.
Start a new journey
Why Partner with UpCloud?
I’ve been passionate about the hosting industry since 2001. Before founding UpCloud, my first company grew to become one of Finland’s largest shared web hosting providers, serving over 30,000 customers. Along the way, I faced the same challenges many of you know well—24/7 on-call responsibilities, solving technical issues, and managing customer inquiries.
At UpCloud, we’ve designed a platform that solves these challenges, offering reliability, scalability, and unparalleled support. We understand the pressures you face because we’ve been there too. Partner with us, and let’s help you focus on growing your business while we handle the rest.
Sincerely, Joel Pihlajamaa CTO, Founder
Login
Sign up
Updated on 27.1.2025
Coolify is an open-source and self-hostable alternative for managed services like Heroku, Netlify, or Vercel. It helps you manage your servers, applications and databases running in containers on your chosen hardware; you only need an SSH connection.
In this tutorial, we’ll show how to deploy your own Coolify development environment using UpCloud’s Developer Cloud Servers. We’ll also explain the Coolify server setup and its strengths in performance and flexibility. But first, let’s see what Coolify is exactly and why you should use it.
Coolify is a modern, self-hostable, open-source solution for deploying and managing databases and applications utilising Docker. It is designed for developers and businesses who want to manage their applications and services without complications. It is a simple yet powerful tool and makes an excellent choice for any developer. Following are some of the reasons why you should use Coolify.
Coolify is compatible with a wide range of programming frameworks and languages. It enables developers to quickly and efficiently launch websites, databases, backends, APIs, and other applications.
It is popular in self-hosted environments but is also commonly used with cloud services, offering greater flexibility. Coolify can help seamlessly deploy resources onto services like UpCloud Cloud Servers with just an SSH connection.
GitHub integration has become important in the current technological landscape. Coolify integrates with GitHub to facilitate team collaboration by making project sharing easier.
Coolify also automates the setup of SSL certificates for custom domains to simplify operations and prevent manual certificate setup.
To run Coolify on UpCloud, you must first set up a Cloud Server. We have an in-depth, step-by-step guide on how to deploy Cloud Servers, but here’s a quick summary.
When you have finished configuring your Developer Cloud Server, click the Deploy button to launch the new server instance.
Before installing Coolify, you will need to prepare your Cloud Server. Coolify doesn’t have many prerequisites but automatically installs the necessary tools and software when using their quick installation method. However, before starting, follow the steps below to ensure your server is ready.
Once your Developer Cloud Server is up and running, log in using SSH or our VLC connection.
sudo apt updatesudo apt upgrade -y
sudo apt install curl
You must also allow TCP port 80 or 443 if you wish to use GitHub webhooks.
With these checks done, you can now move to installing Coolify.
The next step is installing and configuring Coolify.
Using the install script: Install Coolify automatically using their installation script is quick and easy. Simply run the following command on your Cloud Server’s terminal.
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
When the installation finishes successfully, you should see an output like below.
- Coolify installed successfully. - Waiting for 20 seconds for Coolify (database migrations) to be ready. - Until then, here's a joke for you:There are only 10 kinds of people in this world: those who know binary and those who don't. ____ _ _ _ _ _ / ___|___ _ __ __ _ _ __ __ _| |_ _ _| | __ _| |_(_) ___ _ __ ___| | | | / _ \| '_ \ / _` | '__/ _` | __| | | | |/ _` | __| |/ _ \| '_ \/ __| | | |__| (_) | | | | (_| | | | (_| | |_| |_| | | (_| | |_| | (_) | | | \__ \_| \____\___/|_| |_|\__, |_| \__,_|\__|\__,_|_|\__,_|\__|_|\___/|_| |_|___(_) |___/Your instance is ready to use.Please visit http://{your-server-ip-address}:8000 to get started.
If the script finishes without showing you the above output, run it again to continue the installation from where it might have left off.
Coolify recommends using the automated script for easier installation. However, if you wish to install Coolify manually, follow the steps below.
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
ssh-keygen -f /data/coolify/ssh/keys/[email protected] -t ed25519 -N '' -C root@coolify
cat /data/coolify/ssh/keys/[email protected] >>~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys
curl -fsSL https://cdn.coollabs.io/coolify/docker-compose.yml -o /data/coolify/source/docker-compose.ymlcurl -fsSL https://cdn.coollabs.io/coolify/docker-compose.prod.yml -o /data/coolify/source/docker-compose.prod.ymlcurl -fsSL https://cdn.coollabs.io/coolify/.env.production -o /data/coolify/source/.envcurl -fsSL https://cdn.coollabs.io/coolify/upgrade.sh -o /data/coolify/source/upgrade.sh
chown -R 9999:root /data/coolifychmod -R 700 /data/coolify
sed -i "s|APP_ID=.*|APP_ID=$(openssl rand -hex 16)|g" /data/coolify/source/.envsed -i "s|APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|g" /data/coolify/source/.envsed -i "s|DB_PASSWORD=.*|DB_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.envsed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.envsed -i "s|PUSHER_APP_ID=.*|PUSHER_APP_ID=$(openssl rand -hex 32)|g" /data/coolify/source/.envsed -i "s|PUSHER_APP_KEY=.*|PUSHER_APP_KEY=$(openssl rand -hex 32)|g" /data/coolify/source/.envsed -i "s|PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|g" /data/coolify/source/.env
# Add Docker's official GPG key:sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker network create --attachable coolify
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
Once installed, Coolify starts a web server that will provide you with a dashboard. Here is how you can deploy your first app using Coolify:
1. Access your Coolify dashboard: Open the Coolify dashboard in your web browser by going to the address at the end of the installation output, http://{your-server-ip-address}:8000 port on your Cloud Server.
The first time opening the Coolify dashboard, you will be presented with an account creation page. Register to your Coolify dashboard to secure your installation.
Once registered, you will be guided through the initial setup process. Press the Get Started button to begin.
You will then get a short introduction to Coolify. Simply click the Next button to proceed.
2. Set up your Coolify installation: To set up your project on Coolify, you must first tell Coolify how and where to install your projects. In this example, we are using the same Cloud Server to run our test applications as Coolify itself by choosing the Localhost option.
Next, create your first project.
Then choose the resources by clicking the Let’s do it button.
3. Deploying your first Project: The Projects menu contains a long list of applications, databases, and services you can deploy.
For this example, we will choose the empty Docker Compose container. Click on the icon to open the configuration view.
Next, input the Docker Compose configuration you want to deploy. In this example, we’ve picked a simple Docker test image.
Copy the following Docker compose configurations into your Coolify project.
services: app: image: docker/welcome-to-docker ports: - 8090:80
Then click the Save button and return to the project configuration view.
Next, click the Deploy button.
Then sit back and watch the magic happen!
Once your Docker containers’ status shows “Started,” you can verify it by opening your Coolify server IP address at the port selected in the compose file.
http://{your-server-ip-address}:8090
Congratulations! If everything goes correctly, you should see the celebration screen.
Setting up Coolify and deploying your first application is an important part of this tutorial. However, you should also know how to manage and maintain your UpCloud server to ensure optimal performance.
Routine maintenance should include the following:
The security of your server is also important to ensure it performs per your expectations.
Coolify installation offers a simple but powerful solution for deploying and managing applications. This makes it easy for developers and small teams to collaborate and get their work done efficiently and quickly.
Coolify lets users deploy their apps with just a few clicks by seamlessly integrating with GitHub, GitLab, and Docker. Coolify, paired with the UpCloud Developer plan Cloud Servers, provides a great developer environment for building, scaling, and managing applications.
Learn more about Cloud application management tools by signing up for UpCloud now!
Your email address will not be published. Required fields are marked *
Comment *
Name *
Email *
Website
Save my name, email, and website in this browser for the next time I comment.
Δ
See all tutorials