Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Shells Virtual Desktop
BMail.ag - Secure Email Service
Server.net
CPLicense.net
VPS Server
Buy VPN
Vultr
VMs for AI
HostDare
ReliableSite White-Label Dedicated Hosting for Resellers
InterServer VPS
BMail.ag - Secure Email Service
Best VPN
High-Performance Bare Metal Server Solutions
Karvl.com
Server Mania Cloud Hosting
DataWagon Hosting
AlphaVPS Hosting
Evoxt.com
Clouvider
VPS Hosting with NVMe
Residential IPs in the US & 4G Mobile Proxies in EU & US with Unlimited Bandwidth
ReliableSite White-Label Dedicated Hosting for Resellers
Rabisu - Hosting Solutions
Shells Virtual Desktop
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Ditch the Vercel PaaS Markup: Self-Host Coolify on Your VPS

AndreixAndreix Member, Host Rep
edited May 17 in Tutorials

Spin up Coolify on a 2-vCPU/4-GB KVM VPS in under 10 minutes and get Vercel-like deployments with zero per-seat fees. Coolify is an open-source PaaS that runs on your own box, talks to GitHub, builds with Nixpacks, and serves over HTTPS via Traefik. You pay only for the VPS—no bandwidth overages, no seat limits, no surprise invoices.

This guide covers install, hardening, port-fixes, first deploy, and when DIY makes sense versus managed hosting.


Why Devs Are Leaving Managed PaaS

Vercel, Heroku, and Render charge for convenience. Add teammates, background workers, or exceed bandwidth and a $20 project becomes a $200 invoice.

Coolify removes the vendor. You bring the server; it brings automation: git-push deploys, auto TLS, preview URLs, one-click databases, and health checks on hardware you control. Tradeoff: you handle updates, backups, and security. If SSH feels like home, the savings are worth it. If not, the debugging time can cost more than the subscription.


VPS Requirements

Coolify runs inside Docker and needs Engine, Traefik, internal PostgreSQL, and build headroom. Official minimums:

  • CPU: 2 cores
  • RAM: 2 GB
  • Disk: 30 GB SSD
  • OS: Ubuntu 20.04+ (24.04 recommended)
  • Network: public IPv4; ports 22, 80, 443, 8000 open

In practice Coolify alone eats 750 MB–1.2 GB RAM. On 2 GB that leaves ~800 MB for your app—fine for one slim Node.js or PHP service, but zero headroom for builds or traffic spikes. For production or multiple projects, start at 4 GB. If you’re stacking PostgreSQL, Redis, and Next.js, budget 8 GB.

Nixpacks builds are CPU-hungry. A dedicated KVM core compiles predictably; a shared vCPU throttled by neighbors does not. ServerSpan offers shared LXC and dedicated KVM VMs. LXC works for light tests; KVM is the smarter foundation for production.


Step 1: Harden the Server

Start with clean Ubuntu 24.04. Port conflicts on 80/443 are the top reason installs fail. If NGINX or Apache runs, decide now whether to evict it or re-map Traefik. For a first install, a blank box is fastest.

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget git ufw fail2ban -y
adduser deployer && usermod -aG sudo deployer
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8000/tcp
sudo ufw enable
sudo systemctl enable --now fail2ban

Switch to SSH keys if you haven’t. Coolify generates its own key pair to manage Docker, so key-based auth must work.


Step 2: Install Coolify

One official installer handles everything:

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

Takes 3–5 minutes on SSD. When done, the terminal prints the dashboard URL—usually http://your-server-ip:8000. It also warns you to back up /data/coolify/source/.env (encryption keys + DB creds). Copy it to secure storage immediately.

Verify containers:

docker ps | grep coolify

You should see coolify, coolify-realtime, coolify-proxy (Traefik), and coolify-database (PostgreSQL). If anything is missing, check /data/coolify/source/installation-*.log or journalctl -u docker -f.


Step 3: First Login & Lockdown

Open the dashboard URL. The first account becomes admin—use a strong password and real email.

During onboarding choose localhost for a single-server setup.

Immediately go to Settings → Configuration and disable public registration. If port 8000 is internet-facing, anyone who finds your IP can create an account until you flip this off.

Set your instance domain under Settings → Instance Domain (e.g. https://coolify.yourdomain.com). Point an A record to your server IP, save, and Coolify grabs a Let’s Encrypt cert through Traefik, forcing HTTP→HTTPS.


Step 4: Deploy Your First App

Coolify supports GitHub, GitLab, and Bitbucket. Connect your source under Sources, create a project, and add an application.

  1. Pick repository and branch.
  2. Choose build pack. Nixpacks auto-detects Node.js, Python, Go, PHP, static.
  3. Add domain and enable auto-HTTPS.
  4. Set env vars if needed.
  5. Hit Deploy.

Coolify clones, builds the Docker image, starts the container, and tells Traefik where to route. First build for a typical Next.js/Laravel app takes 1–3 minutes.

Need a database? New Resource → Database → PostgreSQL, MySQL, Redis, or MongoDB. It runs on the same Docker network; connect via internal hostnames like postgres or redis.


Step 5: Fix Common First-Install Problems

Traefik can’t bind 80/443

Check what holds the port:

sudo ss -tlnp | grep -E ':(80|443)'

If NGINX appears, stop and disable it, then restart the proxy:

sudo systemctl stop nginx && sudo systemctl disable nginx
cd /data/coolify/source && docker compose restart coolify-proxy

If you must keep NGINX, proxy it upstream to Traefik on alternate ports—but that adds friction. For a dedicated PaaS box, removing NGINX is cleaner.

Build failures / logs

Check Application → Deployments → [latest build] in the dashboard. If truncated:

docker logs coolify-builder --tail 200

Common culprits: OOM kills during npm install, missing build scripts, or native dependency errors. Exit code 137 = Linux OOM killer. Add RAM.

SSL not issuing

Let’s Encrypt needs valid DNS, reachable port 80, and no rate limits. Verify DNS:

dig +short yourdomain.com

Check Traefik ACME logs:

docker logs coolify-proxy 2>&1 | grep -i acme

Limit: 5 certs per domain per week. If hit, wait or use staging until the window resets.


Step 6: Size Your VPS Correctly

Coolify reserves ~750 MB–1.2 GB RAM for itself.

Plan Specs Fit
ct.Entry 1C / 512M / 10G Too small. Below minimums.
ct.Ready 2C / 2G / 25G One lightweight app only. No margin.
ct.Steady 4C / 4G / 50G Good start. One app + one DB.
ct.Go 4C / 8G / 80G Comfortable. Multiple apps + DBs.

LXC plans work for evaluation and small static sites. For production, KVM gives dedicated cores. A Nixpacks build that takes 90 seconds on dedicated silicon can drag for 5+ minutes on an oversubscribed shared host.

Docker images and build caches eat disk fast. A 25 GB VPS fills quickly after pulling Node.js base images. Budget 50 GB+ and monitor with df -h and docker system df.


Security & Maintenance

A self-hosted PaaS is a production control plane. If it falls, every app and DB on the box falls with it.

  • Enable unattended-upgrades.
  • Back up /data/coolify/source/.env externally. Lose it = lose the instance.
  • Run docker system prune -a --volumes monthly during a maintenance window.
  • Set log rotation in /etc/docker/daemon.json.
  • Restrict port 8000 to your IP or VPN once the instance domain works.
  • Audit Settings → Members monthly; remove ex-team members immediately.

For deeper Docker production guidance, see ServerSpan’s guide on managing Docker and containers on a VPS.


When Self-Hosting Makes Sense (and When It Doesn’t)

DIY fits when you want predictable costs, full data control, and unlimited deploys on a fixed bill. Great for solo devs, small agencies, and startups refusing per-seat fees.

It’s wrong when nobody has time to patch the OS, watch disk space, rotate logs, or debug builds at 2 a.m. A broken client pipeline is a deadline disaster. If no one is watching the server, managed hosting is safer.

The classic failure isn’t install—it’s month six, when images have drifted, logs filled the disk, and a kernel update has been pending for weeks. Coolify automates deploys; it does not eliminate server administration.


Next Steps

Ready? Grab a 4 GB RAM server, clean Ubuntu 24.04, install Coolify, harden the firewall, connect Git, and deploy. Server creation to live app takes under 30 minutes.

For multiple client projects needing dedicated resources without noisy-neighbor builds, compare ServerSpan’s KVM VPS hosting options and pick cores/RAM to match your workload.

Prefer to focus on code while someone else handles infrastructure? ServerSpan’s Linux server administration service manages hardening, updates, logs, and recovery while you deploy through Coolify.


FAQ

2 GB RAM enough? One lightweight app only. Coolify uses 750 MB–1.2 GB itself. Growth or spikes trigger OOM kills.

Debian instead of Ubuntu? Yes, Debian 11+. Ubuntu 24.04 is recommended for testing coverage and cloud driver support.

Existing NGINX? Only if you remap ports. Both Traefik and NGINX default to 80/443. Stop NGINX, use alternate ports with an NGINX upstream, or migrate sites into Coolify containers.

Where are backups stored? Coolify can ship DB backups to any S3-compatible store. It does not back up the host OS. Use provider snapshots or server-level backups.

Free for commercial use? Yes. Apache 2.0. No per-app or per-seat cost. Pay only for the VPS and external services.


Full tutorial on ServerSpan.

Thanked by 1FairShare

Comments

  • PolyAnthiPolyAnthi Member
    edited May 17

    A for effort on the backlinks. They are all no follows, don't give us this AI slop shit

    Thanked by 3booskit Alyx tentor
  • sillycatsillycat Member

    @PolyAnthi said: They are all no follows

    In the age of AI desperation for more training data, I don't think they follow or care about those anymore.

    Thanked by 2oloke PolyAnthi
  • networknetwork Member

    @PolyAnthi said:
    A for effort on the backlinks. They are all no follows, don't give us this AI slop shit

    And the first link to their site is a 404, lol.

  • PolyAnthiPolyAnthi Member

    @sillycat said:

    @PolyAnthi said: They are all no follows

    In the age of AI desperation for more training data, I don't think they follow or care about those anymore.

    Imagine an AI trained purely on LET, we'd be fucked

    Thanked by 2oloke sillycat
  • rpqurpqu Member

    800~900MB just for the platform

    That's enough RAM for Mariadb/Postgres + Mongo + Redis

    Thanked by 1Andreix
  • AndreixAndreix Member, Host Rep

    So much AI that it got our link wrong....

    https://ibb.co/Q7KyTM9G

    For all our AI setups we have direct MCP connections to all our site functions... It would not insert a bad link.

    That was a real article not yet published, but from admin area I mistakenly saw it as published article. Fixed anyway. :)

  • booskitbooskit Member
    edited May 17

    @Andreix said:
    So much AI that it got our link wrong....

    https://ibb.co/Q7KyTM9G

    For all our AI setups we have direct MCP connections to all our site functions... It would not insert a bad link.

    That was a real article not yet published, but from admin area I mistakenly saw it as published article. Fixed anyway. :)

    Don't try and act like this isn't AI slop. You forgot to remove 6 emdashes, 8 →'s, the main image is AI and your whole website is AI. You may as well become an AI.

  • AndreixAndreix Member, Host Rep

    @booskit said:

    @Andreix said:
    So much AI that it got our link wrong....

    https://ibb.co/Q7KyTM9G

    For all our AI setups we have direct MCP connections to all our site functions... It would not insert a bad link.

    That was a real article not yet published, but from admin area I mistakenly saw it as published article. Fixed anyway. :)

    Don't try and act like this isn't AI slop. You forgot to remove 6 emdashes, 8 →'s, the main image is AI and your whole website is AI. You may as well become an AI.

    Our URL Slugs are auto-generated. I have just copied the URL from the share button... Have not actually paid attention to the URL itself.

    The image... That's a different story. Last time I had to pay few hundred dollas to make me a thumbnail so I can please LET critics was... Never. Highly doubt that will change.

  • booskitbooskit Member

    @Andreix said:

    @booskit said:

    @Andreix said:
    So much AI that it got our link wrong....

    https://ibb.co/Q7KyTM9G

    For all our AI setups we have direct MCP connections to all our site functions... It would not insert a bad link.

    That was a real article not yet published, but from admin area I mistakenly saw it as published article. Fixed anyway. :)

    Don't try and act like this isn't AI slop. You forgot to remove 6 emdashes, 8 →'s, the main image is AI and your whole website is AI. You may as well become an AI.

    Our URL Slugs are auto-generated. I have just copied the URL from the share button... Have not actually paid attention to the URL itself.

    The image... That's a different story. Last time I had to pay few hundred dollas to make me a thumbnail so I can please LET critics was... Never. Highly doubt that will change.

    No idea what you're talking about. AI slop, stop lying.

  • emghemgh Member, Megathread Squad

    @Andreix said:

    @booskit said:

    @Andreix said:
    So much AI that it got our link wrong....

    https://ibb.co/Q7KyTM9G

    For all our AI setups we have direct MCP connections to all our site functions... It would not insert a bad link.

    That was a real article not yet published, but from admin area I mistakenly saw it as published article. Fixed anyway. :)

    Don't try and act like this isn't AI slop. You forgot to remove 6 emdashes, 8 →'s, the main image is AI and your whole website is AI. You may as well become an AI.

    Our URL Slugs are auto-generated. I have just copied the URL from the share button... Have not actually paid attention to the URL itself.

    The image... That's a different story. Last time I had to pay few hundred dollas to make me a thumbnail so I can please LET critics was... Never. Highly doubt that will change.

    How retarded do you think we are?

    Yes for sure you wrote this AI slop manually. For sure you recommend new setups to use Ubuntu 24.04. For sure not just AI with outdated training data.

  • gsea4gsea4 Member

    Highly likely AI slop

  • AndreixAndreix Member, Host Rep
    edited May 17

    @emgh said:

    @Andreix said:

    @booskit said:

    @Andreix said:
    So much AI that it got our link wrong....

    https://ibb.co/Q7KyTM9G

    For all our AI setups we have direct MCP connections to all our site functions... It would not insert a bad link.

    That was a real article not yet published, but from admin area I mistakenly saw it as published article. Fixed anyway. :)

    Don't try and act like this isn't AI slop. You forgot to remove 6 emdashes, 8 →'s, the main image is AI and your whole website is AI. You may as well become an AI.

    Our URL Slugs are auto-generated. I have just copied the URL from the share button... Have not actually paid attention to the URL itself.

    The image... That's a different story. Last time I had to pay few hundred dollas to make me a thumbnail so I can please LET critics was... Never. Highly doubt that will change.

    How retarded do you think we are?

    Yes for sure you wrote this AI slop manually. For sure you recommend new setups to use Ubuntu 24.04. For sure not just AI with outdated training data.

    Can't really answer to the bold part, regarding you, without breaking any rules, so I'd simply say that I've never met a person with such tremendous intelligence, high IQ and attention to the details ever. I also lied with this description.

    Now, you seem to mix two concepts together: AI written and AI proofing.

    AI written -> Gimme an article about how you can install SSH on ubuntu.
    AI proof -> Here is my draft for an article regarding SSH installation on ubuntu. Please make sure it is well structured, easy to read, follow and understand. Make sure there are no obvious grammar mistakes. Format it for (facebook|a forum board|knowledgebase|internal training|etc.).

    So, again, NO is NOT AI written, the original draft is made by me. This is also the reason AI score is so low, because most of the text is mine, with very few AI additions. => low token prediction pattern => no usual AI behavior.

    Why Ubuntu 24.04?
    It is available for quite a while, has a lot of compatibility layers, dependencies, mirros ... etc.; on top of that, it's an extremely stable operating system with LTS support 'till 2029 and people seem to prefer ubuntu more than debian (which I prefer).

    If you would've followed my posts, that you'd know about me: I do not jump on latest release, just because it's new. I stick with stable systems, not newest systems. As it happens, I also wrote a post on my personal blog about this preference.

    AI assessment: https://www.perplexity.ai/search/030e2304-e562-4c0f-8a06-ff27557c494d

  • emghemgh Member, Megathread Squad

    @Andreix said: Now, you seem to mix two concepts together: AI written and AI proofing.

    just because you prompted the ai with more than 5 words doesn't make your ai generated article not be an ai generated article

    Thanked by 1iKeyZ
  • AndreixAndreix Member, Host Rep

    @emgh said:

    @Andreix said: Now, you seem to mix two concepts together: AI written and AI proofing.

    just because you prompted the ai with more than 5 words doesn't make your ai generated article not be an ai generated article

    just because you insist on knowing what you talk about doesn't mean you actually know what you're talking about.

  • emghemgh Member, Megathread Squad

    @Andreix said:

    @emgh said:

    @Andreix said: Now, you seem to mix two concepts together: AI written and AI proofing.

    just because you prompted the ai with more than 5 words doesn't make your ai generated article not be an ai generated article

    just because you insist on knowing what you talk about doesn't mean you actually know what you're talking about.

    Just because you think you're special enough to deserve an exception to the no AI generated content rule doesn't mean that anyone else thinks that you are.

  • AndreixAndreix Member, Host Rep
    edited May 17

    @emgh said:

    @Andreix said:

    @emgh said:

    @Andreix said: Now, you seem to mix two concepts together: AI written and AI proofing.

    just because you prompted the ai with more than 5 words doesn't make your ai generated article not be an ai generated article

    just because you insist on knowing what you talk about doesn't mean you actually know what you're talking about.

    Just because you think you're special enough to deserve an exception to the no AI generated content rule doesn't mean that anyone else thinks that you are.

    Asked the mods, got a green light with the article. Not happy? Become a mod and delete it.

    Thanked by 1nghialele
  • emghemgh Member, Megathread Squad

    @Andreix said:

    @emgh said:

    @Andreix said:

    @emgh said:

    @Andreix said: Now, you seem to mix two concepts together: AI written and AI proofing.

    just because you prompted the ai with more than 5 words doesn't make your ai generated article not be an ai generated article

    just because you insist on knowing what you talk about doesn't mean you actually know what you're talking about.

    Just because you think you're special enough to deserve an exception to the no AI generated content rule doesn't mean that anyone else thinks that you are.

    Asked the mods, got a green light with the article. Become a mod and delete it.

    @angstrom is it true that @Andreix is approved for an exception to the no AI rule?

    Thanked by 2dsbnoob tentor
  • Hello sir, my PaaS is a ingrained abnormality. Please kindly provide directions.

    Thanked by 1emgh
  • AndreixAndreix Member, Host Rep

    @totally_not_banned said:
    Hello sir, my PaaS is a ingrained abnormality. Please kindly provide directions.

    In 200 meters, turn.

  • @Andreix said:

    @totally_not_banned said:
    Hello sir, my PaaS is a ingrained abnormality. Please kindly provide directions.

    In 200 meters, turn.

    Sir, i inquire Nixpack under 10 minutes and no seat, is it possible?

  • AndreixAndreix Member, Host Rep

    @totally_not_banned said:

    @Andreix said:

    @totally_not_banned said:
    Hello sir, my PaaS is a ingrained abnormality. Please kindly provide directions.

    In 200 meters, turn.

    Sir, i inquire Nixpack under 10 minutes and no seat, is it possible?

  • @Andreix said:

    @totally_not_banned said:

    @Andreix said:

    @totally_not_banned said:
    Hello sir, my PaaS is a ingrained abnormality. Please kindly provide directions.

    In 200 meters, turn.

    Sir, i inquire Nixpack under 10 minutes and no seat, is it possible?

    Misleading. 0/0. Would not traefik under 10 minutes zero seat again.

    Thanked by 1emgh
  • allthemtingsallthemtings Member, Megathread Squad

    @emgh said:

    @Andreix said:

    @emgh said:

    @Andreix said:

    @emgh said:

    @Andreix said: Now, you seem to mix two concepts together: AI written and AI proofing.

    just because you prompted the ai with more than 5 words doesn't make your ai generated article not be an ai generated article

    just because you insist on knowing what you talk about doesn't mean you actually know what you're talking about.

    Just because you think you're special enough to deserve an exception to the no AI generated content rule doesn't mean that anyone else thinks that you are.

    Asked the mods, got a green light with the article. Become a mod and delete it.

    @angstrom is it true that @Andreix is approved for an exception to the no AI rule?

  • angstromangstrom Moderator

    @Andreix

    You may link to a largely AI-generated tutorial if you think that it may be useful to others, but please don't post largely AI-generated tutorials on the forum

    Thread closed

This discussion has been closed.