Recently I tried running Coolify on my local machine for testing and playing with it. I now use this local Coolify setup as my staging, development, or home-server environment. It lets me, for free, quickly test new app deployments, monitor services, and experiment with configurations — all without touching my production server. Running Coolify on a local VM is the perfect balance between flexibility and control, especially for developers building self-hosted platforms or SaaS projects.
Here’s a simple guide — anyone can do it. You can install Ubuntu on any VM platform you like:
- Parallels Desktop (what I used)
- Hyper-V
- VirtualBox
- VMware Fusion Player
- UTM
- … or any other you prefer
Set up your VM
Install Ubuntu (I used the latest 24.04 LTS).
Important: use Bridged Network. This will give your VM an IP like
192.168.1.xfrom your router — for example,192.168.1.110. This is very important — it makes exposing your VM to the public much easier.
Install Coolify
SSH into your VM or open a terminal.
Switch to root:
sudo -i
Make sure your server is up to date:
apt update && apt upgrade -y
Run the Coolify install:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Done! Coolify is now running. Access it at:
http://192.168.1.110:8000
(use your VM’s IP). You’ll need to access the Coolify admin panel right away and create your admin user.

Expose your Coolify to the public
Now you want your VM to be reachable from the public internet:
- Forward ports 80 and 443 from your router to your VM IP (e.g.
192.168.1.110). - Every router has a different UI, but the setting is usually under Port Forwarding or NAT / Virtual Server.
TP-Link example:

That’s it! Your Coolify should now be accessible on your public IP (check via whatismyip.com).
You can also use Cloudflare Tunnel if you don’t want to deal with the router.
Coolify is public by default (via sslip.io)
One cool thing: Coolify gives you public access out of the box — no domain config, no DNS setup needed.
When you deploy an app, Coolify auto-generates a domain like:
http://[your-app].[your-public-ip].sslip.io
For example, if your VM public IP is 111.177.46.125 and your app is called uptime, Coolify gives you this public link automatically:
http://uptime.111.177.46.125.sslip.io
How does it work? Coolify uses sslip.io, a smart wildcard DNS service that resolves any [subdomain].[ip].sslip.io to the actual IP. So no domain is needed — you get a working public URL instantly.
You can use this to test apps immediately, or even share it with teammates. It works great for quick staging or demo environments. Just make sure your router has 80/443 open and forwarded to your VM, and it will work globally.
Configure Coolify
Go to your Coolify dashboard. Configure your email, timezone, and create your first team/project. For more on Coolify configuration, see Configure Coolify: Deploy and Manage Your First Project (Production Ready).
Deploy a test app: Uptime Kuma on Coolify
In Coolify, add a new project and deploy Uptime Kuma from the ready services:

Coolify will handle it for you.
Double-check your app configuration and that your public IP is correctly added in the service domains, like this:

Now test that your public Coolify works by visiting your deployed Uptime Kuma:
http://uptime.111.177.23.113.sslip.io
Very easy — now I can test apps locally and expose them to the public for real-world testing. Give it a try.
Can’t access your server from outside?
Some home internet providers block ports 80 and 443 to prevent public hosting from home. So even if you forward ports correctly, your Coolify might still be unreachable from the outside.
Solution: use Cloudflare Tunnel for Coolify — no port forwarding, works even behind strict ISPs.
About security — important!
This setup is great for local testing or private demo apps, but once your server is public, you must secure it:
- Public IP + open ports = visible to attackers
- The default Coolify setup is not hardened
- sslip.io URLs are public — anyone can scan & find them
To protect your apps and server from abuse, I recommend installing:
- CrowdSec Firewall (with the free IP ban list)
- Optionally enable the Traefik AppSec WAF (Web App Firewall)
Full guide: Secure your Coolify server & websites with CrowdSec and Traefik.
Secure Coolify with Cloudflare Tunnel
If you’ve followed this guide and Coolify is working inside your local network but not accessible from the internet, your ISP is probably blocking ports 80 and 443 (very common in places like Australia 🇦🇺).
Don’t worry — there’s a workaround. See Expose Your Local Coolify Server with Cloudflare Tunnel (No Port Forwarding Needed) to securely expose Coolify (and any app) to the internet using Cloudflare Tunnel — no port forwarding needed, works even behind strict ISPs.
Found this useful or inspiring? You can support my work — buy me a coffee. Every little bit helps keep the magic alive, and my brain awake.
Need help?
If you want a fully secured Coolify server, I offer consulting & setup services:
- CrowdSec Firewall + AppSec WAF
- Traefik optimisation
- Hardening SSH & system
- Monitoring & alerts
- Installing and managing Coolify
Reach out — happy to help you secure your server.
