Self-Hosting Everything with Coolify on a Single VPS
In the world of self-hosting, having an efficient setup is crucial for managing multiple applications, especially if you are working within the confines of a single Virtual Private Server (VPS). Coolify is an excellent choice for developers and homelab enthusiasts looking to simplify the deployment of their open-source applications while optimizing resource usage. This guide will show you exactly how to get started self-hosting everything with Coolify on a single VPS.
What is Coolify?
Coolify is an open-source self-hosting platform that streamlines the deployment of applications using Docker. It has an intuitive web interface that allows users to deploy, manage, and monitor applications with ease. By leveraging Docker, Coolify ensures that your applications run in isolated containers, providing a clean and manageable environment.
VPS Requirements
To successfully self-host with Coolify, you need a VPS that meets the minimum system requirements. Hereโs a brief overview of the types of VPS offerings available, along with their prices:
| Provider | Price per Month | RAM | Disk Space | SSD |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR | 4 GB | 200 GB | Yes |
| Hetzner Cloud | 4.15 EUR | 2 GB | 20 GB | Yes |
| DigitalOcean | 6 USD | 1 GB | 25 GB | Yes |
| Vultr | 6 USD | 1 GB | 25 GB | Yes |
| Linode (Akamai Cloud) | 5 USD | 1 GB | 25 GB | Yes |
For good performance while hosting multiple applications, it is advisable to choose at least 2 GB of RAM and sufficient disk space. The Hetzner Cloud VPS at 4.15 EUR/month and Contabo VPS at 5.99 EUR/month provide an excellent balance of cost and resources for Coolify.
Setting Up Coolify
Step 1: Choose Your VPS Provider
First, select a VPS provider that meets your requirements. Contabo and Hetzner are great options offering competitive pricing. Use the following links to get started:
Step 2: Connect to Your VPS
Once youโve set up your VPS, connect to it using SSH. Replace your_user and your_ip with your actual username and server IP address:
ssh your_user@your_ip
Step 3: Install Docker
Coolify utilizes Docker containers, so the first step is to install Docker. Run the following commands:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
You can verify if Docker is correctly installed by checking the version:
docker --version
Step 4: Install Coolify
Now, we will install Coolify using Docker Compose. First, you need to install Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Next, create a directory for Coolify and navigate into it:
mkdir -p ~/coolify && cd ~/coolify
Create a docker-compose.yml file with the following contents:
version: '3.3'
services:
app:
image: coollabsio/coolify:latest
container_name: coolify
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- coolify_data:/data
volumes:
coolify_data:
Then, start the service:
docker-compose up -d
Step 5: Access the Coolify Dashboard
Once the setup is complete, you can access the Coolify dashboard at http://your_ip:3000. Follow the on-screen instructions to set up your Coolify account.
Managing Your Applications
Once Coolify is up and running, you can start deploying your favorite applications. It supports various applications such as Ghost, Next.js, and Strapi. The dashboard provides an easy way to manage each appโs environment variables and configurations.
For extensive application choices, you can check awesome-selfhosted which lists many self-hosted alternatives.
FAQs
How much RAM do I need for hosting multiple applications with Coolify?
When self-hosting with Coolify, itโs ideal to allocate at least 2 GB of RAM for smooth operation, especially if you plan to run multiple applications concurrently. More RAM can improve performance and reduce latency. The Contabo VPS offers 4 GB for a competitive price of 5.99 EUR/month, making it suitable for hosting several apps.
Can I run a database within Coolify using a VPS?
Yes, you can run databases such as PostgreSQL or MySQL within Coolify by deploying them in containers. Just ensure your VPS has sufficient resources to handle the database load. Also, consider using separate containers for your applications and databases for better resource management and performance.
What to do if I run out of storage space on my VPS?
If you run out of storage space on your VPS, you have several options. One option is to clean up unused Docker images and containers using commands like docker system prune. Alternatively, consider expanding your VPS storage or migrating to a plan with more disk space, like the Contabo VPS for 5.99 EUR/mo which offers 200 GB of storage.
For a thorough comparison of VPS providers, please check our full VPS comparison.