[{"data":1,"prerenderedAt":204},["ShallowReactive",2],{"seo-verification":3,"blog-coolify-v43-on-a-vps-run-your-apps-without-a-managed-paas-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-coolify-v43-on-a-vps-run-your-apps-without-a-managed-paas-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":132,"ctaBody":133,"ctaButton":134,"ctaUrl":135,"relatedPosts":136},419,"coolify-v43-on-a-vps-run-your-apps-without-a-managed-paas",{"fr":12,"en":10,"ar":13,"es":14},"coolify-4-3-vps-deploiement-applications-heroku-alternatif","coolify-v43-على-vps-إدارة-تطبيقاتك-بدون-paas-مدار","coolify-v43-en-un-vps-gestiona-tus-apps-sin-paas-gestionado","Coolify v4.3 on a VPS: Run Your Apps Without a Managed PaaS","Coolify v4.3 on a VPS: PR deploy previews, scheduled volume backups, audit log — manage N client apps from one panel, no per-usage billing.",9,0,false,"2026-10-06T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},3,"Deployment","deploiement","bg-success\u002F10 text-success",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fcoolify-4-3-vps-deploiement-applications-heroku-alternatif-poster.svg",{"categorySlug":33,"appSlug":34},"application-deployment-devops","coolify","When the Heroku or Railway bill exceeds what the project justifies — especially when an agency runs ten or more distinct client projects — a self-hosted PaaS becomes a structural answer rather than a workaround. Coolify installs on your own VPS, connects to your Git repositories, builds and deploys on push, generates SSL certificates automatically, and version 4.3 adds PR deploy previews, scheduled volume backups and a structured audit log. One server, one interface, all your projects.",[37,41,52,55,58,86,89,120,123,126,129],{"type":38,"title":39,"body":40},"h2","The Real Cost of Managed PaaS for an Agency","Heroku bills per dyno, Railway by compute hour and egress bandwidth, Render by active service. As soon as a client project outgrows its free tier — or the free tier is discontinued, as Heroku did in November 2022 — the bill climbs in steps. For an agency managing eight to fifteen applications, the cumulative total quickly exceeds what a single dedicated orchestration VPS would cost over a year. The issue is not the price of an isolated project: it is the multiplication of billing lines, each on a different cycle, with each platform's own overage rules. On top of that, vendor lock-in means environment variables, database add-ons and deployment pipelines are proprietary constructs you will need to migrate if the platform changes its pricing or retention policies. Coolify replaces all those lines with one: the VPS hosting the orchestrator.",{"type":42,"title":43,"items":44},"ul","What Coolify v4.3 Changes Compared to Previous Versions",[45,46,47,48,49,50,51],"**PR deploy previews** — each pull request automatically receives a preview environment accessible at a dedicated URL with its own SSL certificate, with no manual configuration","**Scheduled volume backups** — Docker volumes can be backed up to S3-compatible storage on a configurable schedule, with configurable retention","**Structured audit log** — all actions (deployment, variable change, restart, configuration change) are recorded with timestamp and user identity","**Improved multi-user management** — roles and permissions per team, isolated access per client project","**Redesigned resource management interface** — consolidated RAM\u002FCPU\u002Fstorage view per service to identify oversized containers","**Docker Compose v2 support** — extended compatibility with existing Compose files, no rewrite required","**Enhanced webhook notifications** — structured deployment payload, compatible with Slack, Discord and any HTTP endpoint",{"type":38,"title":53,"body":54},"VPS Prerequisites for Hosting Coolify","Coolify orchestrates Docker and can run your applications, databases and its own panel on the same server simultaneously. The minimum resources to get started are 2 vCPU and 2 GB RAM — sufficient for a handful of lightweight services. In production, with multiple active client projects, plan for 4 GB RAM: each container reserves its memory, and databases (PostgreSQL, Redis, MySQL) consume consistently. Storage depends on your volumes: start with at least 40 GB SSD, more if you enable local backups. TCP ports 80 and 443 must be open for Let's Encrypt and application traffic. Port 22 (SSH) is required for installation and administration. Coolify is not compatible with a VPS where Docker was previously installed manually with a non-standard configuration: start from a fresh Ubuntu 22.04 LTS or Debian 12 image.",{"type":56,"body":57},"tip","If you are new to the Linux command line, the installation comes down to the few commands below. Once Coolify is deployed, everything else — builds, SSL certificates, environment variables, restarts — is managed from its graphical interface. You no longer need SSH for day-to-day operations.",{"type":59,"title":60,"steps":61},"steps","Installing Coolify on a VPS Running Ubuntu 22.04",[62,65,68,71,74,77,80,83],{"title":63,"body":64},"Provision the VPS and update the system","Order a Ubuntu 22.04 LTS VPS. Connect via SSH with your root or sudo user, then update packages: `apt update && apt upgrade -y`. Do not pre-install Docker: the Coolify installation script handles this and configures dependencies in the expected order.",{"title":66,"body":67},"Open the required ports","Configure UFW to allow SSH, HTTP and HTTPS: `ufw allow 22\u002Ftcp && ufw allow 80\u002Ftcp && ufw allow 443\u002Ftcp && ufw enable`. If your provider offers an upstream network firewall (security group, cloud firewall), apply the same rules at that level before continuing.",{"title":69,"body":70},"Run the official installation script","Launch the script provided by Coolify: `curl -fsSL https:\u002F\u002Fcdn.coollabs.io\u002Fcoolify\u002Finstall.sh | bash`. The script installs Docker CE, deploys the Coolify stack (panel, Traefik proxy, agent), and starts the services. The operation takes between two and five minutes depending on the server connection.",{"title":72,"body":73},"Access the initial panel","Once installation is complete, open `http:\u002F\u002F\u003CVPS-IP>:8000` in your browser. Coolify prompts you to create the admin account: choose a strong password and store it in your password manager. This account has access to all instance resources.",{"title":75,"body":76},"Configure the panel domain","In the instance settings (`Settings > General`), enter the subdomain you reserved for Coolify, for example `coolify.yourdomain.com`. Make sure the A record for that subdomain points to the VPS IP. Coolify automatically generates and renews a Let's Encrypt certificate for this domain and switches access to HTTPS.",{"title":78,"body":79},"Connect your Git source","Under `Sources`, add your GitHub integration (via a GitHub App) or GitLab. A GitHub App is preferable to a deploy key: it allows Coolify to create webhooks automatically on each repository and trigger PR deploy previews without additional manual configuration.",{"title":81,"body":82},"Create your first application","Click `New Resource > Application`, select your repository, choose the deployment branch and the exposed port. Coolify detects the stack via Nixpacks (Node.js, Python, PHP, Go, Ruby…) or uses the Dockerfile if you provide one. Confirm: the first build starts immediately.",{"title":84,"body":85},"Verify the deployment","In the deployment logs, follow the build → push → start steps. Once the container is running, Coolify displays the public URL of the application with its active SSL certificate. Test access from a browser and verify in `Resources` that memory consumption stays within expected limits. For an agency managing multiple clients, create one Coolify Project per client — each project has its own environment variables, its own team members, and its resources are isolated from other projects.",{"type":38,"title":87,"body":88},"Deploying Your First Application from a Git Repository","Coolify monitors the branch you designated and triggers a new deployment on every push via webhook. The full cycle — receiving the GitHub\u002FGitLab event, building the image, stopping the previous container, starting the new one — typically takes less than a minute for a standard Node.js application. Environment variables are managed as encrypted secrets in Coolify's database: they never appear in plain text in the logs. For an application that requires a database, first create the database service in the same Coolify project (`New Resource > Database`), note the generated credentials, then add them as environment variables in the application. Both services automatically share the same internal Docker network.",{"type":90,"title":91,"rows":92,"headers":117},"comparison","Coolify vs Heroku vs Railway vs Dokploy — Overview",[93,97,101,105,109,113],[94,95,96],"Cost model","VPS cost only, free software","Per dyno\u002Fmonth — $5 to $50+ per app depending on tier",[98,99,100],"PR deploy previews","Yes, since v4.3 (September 2026)","Yes (Review Apps), included in paid plans",[102,103,104],"Scheduled volume backups","Yes, to S3-compatible storage — since v4.3","Via paid add-ons (Heroku Postgres Backup)",[106,107,108],"Audit log","Yes, structured — since v4.3","Activity feed, not natively exportable",[110,111,112],"Supported languages\u002Fstacks","Everything Nixpacks or Docker supports","Official buildpacks (Node, Python, Ruby, Java, PHP, Go…)",[114,115,116],"Data portability","Docker volumes on your own server","Data at Heroku\u002FSalesforce",[5,118,119],"Coolify (self-hosted)","Heroku\u002FRender\u002FRailway",{"type":38,"title":121,"body":122},"Configuring PR Deploy Previews and Volume Backups","Deploy previews are enabled from the application configuration page, under the `Preview Deployments` tab. Once enabled, every pull request opened on the repository automatically receives an ephemeral environment accessible at a URL built on the pattern `\u003Cpr-number>.\u003Capp-domain>`. Coolify manages the SSL certificate for this environment via Let's Encrypt and destroys the environment when the PR is closed or merged. For volume backups, go to `Storage > Backups` at the service level. Enter the credentials for an S3-compatible bucket (AWS S3, Cloudflare R2, self-hosted MinIO), the desired frequency (daily, weekly) and the retention count. Coolify creates a compressed archive of the volume and transfers it to the bucket on the defined schedule. Trigger the first execution manually from the dashboard to confirm that the S3 credentials work before relying on the automation.",{"type":56,"title":124,"body":125},"Back Up Coolify Configuration Before a Major Update","Before applying a Coolify update from the panel (`Settings > Updates`), back up the internal instance database. Coolify stores all its configuration in a Docker volume named `coolify-db`. Export it manually: `docker run --rm -v coolify-db:\u002Fdata -v $(pwd):\u002Fbackup alpine tar czf \u002Fbackup\u002Fcoolify-db-$(date +%Y%m%d).tar.gz \u002Fdata`. Store this archive outside the VPS (your S3 bucket, local storage) before launching the update. If something goes wrong after the update, restore with the reverse command. This precaution takes less than a minute and avoids manually rebuilding your entire configuration.",{"type":38,"title":127,"body":128},"Troubleshooting — Common Startup Errors","Four situations come up regularly during first installations or after an update.\n\n**Port 80 or 443 already in use.** Coolify uses Traefik as a reverse proxy on ports 80 and 443. If another process occupies these ports (nginx, Apache installed directly on the VPS), Traefik does not start and no certificate can be issued. Check with `ss -tlnp | grep -E ':80|:443'`, stop the competing process, then restart Coolify with `docker compose -f \u002Fdata\u002Fcoolify\u002Fsource\u002Fdocker-compose.yml restart`.\n\n**Git webhook not triggered after a push.** The most frequent cause is a network firewall blocking GitHub or GitLab outbound IP addresses to your VPS. Verify that GitHub Webhook IP ranges (`https:\u002F\u002Fapi.github.com\u002Fmeta`) are allowed on port 443 of your VPS. Also check in Coolify that the webhook was properly created in the GitHub repository settings (`Webhooks` tab of the repository).\n\n**SSL certificate stuck pending.** Let's Encrypt uses the HTTP-01 challenge: it attempts to reach `http:\u002F\u002F\u003Cyour-domain>\u002F.well-known\u002Facme-challenge\u002F`. If the domain's DNS is not yet propagated, or if port 80 is not reachable from the outside, the challenge fails and Traefik retries every five minutes. Wait for full DNS propagation, verify port 80 accessibility with `curl -I http:\u002F\u002F\u003Cyour-domain>`, then restart the application service in Coolify.\n\n**Application started but unreachable.** Verify that the port exposed in the Coolify configuration matches the port your application actually listens on inside the container. A Node.js container listening on 3000 must have `3000` as the container port in the Coolify configuration, even if the public URL uses port 443.",{"type":38,"title":130,"body":131},"Going Further","Coolify fits within an ecosystem of self-hosted deployment solutions. If your context calls for a different approach — GitOps pipelines via Kamal, lightweight orchestration with Dokploy, or a simplified interface with Easypanel — each tool has its strengths depending on team size and deployment complexity. The related articles explore these alternatives and the specific use cases for each environment.","Start with Coolify on a ServOrbit VPS","Provision a ServOrbit VPS with the Coolify template pre-installed: Docker configured, panel accessible, SSL certificate ready. Connect your Git repositories and start deploying.","Configure My Coolify Solution","\u002Fmarketplace\u002Fapplication-deployment-devops\u002Fcoolify",[137,154,171,186],{"id":138,"slug":139,"slugs":140,"title":144,"excerpt":145,"readTime":17,"views":146,"isPinned":19,"publishedAt":147,"updatedAt":148,"category":149,"categories":150,"featuredImage":29,"bgImage":30,"posterImage":152,"relatedSolution":153},41,"deploy-your-applications-with-coolify-on-a-vps",{"fr":141,"en":139,"ar":142,"es":143},"deployer-avec-coolify","نشر-تطبيقاتك-باستخدام-coolify-على-vps","desplegar-aplicaciones-con-coolify-en-un-vps","Deploy Your Applications with Coolify on a VPS","Deploy Coolify on a VPS: installation, HTTPS configuration, Git connection, deploying your first application, databases, backups, and troubleshooting.",1,"2026-05-10T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[151],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-coolify-poster.svg",{"categorySlug":33,"appSlug":34},{"id":155,"slug":156,"slugs":157,"title":161,"excerpt":162,"readTime":17,"views":18,"isPinned":19,"publishedAt":163,"updatedAt":164,"category":165,"categories":166,"featuredImage":29,"bgImage":30,"posterImage":168,"relatedSolution":169},42,"deploy-your-applications-with-dokploy-on-a-vps",{"fr":158,"en":156,"ar":159,"es":160},"deployer-avec-dokploy","نشر-تطبيقاتك-باستخدام-dokploy-على-vps","desplegar-aplicaciones-con-dokploy-en-un-vps","Deploy Your Applications with Dokploy on a VPS","Deploy your applications with Dokploy on a VPS: an open source PaaS with built-in Traefik, Docker Compose, databases, and Git deployments.","2026-05-09T00:00:00+00:00","2026-09-21T15:22:03+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[167],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-dokploy-poster.svg",{"categorySlug":33,"appSlug":170},"dokploy",{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":17,"views":18,"isPinned":19,"publishedAt":180,"updatedAt":181,"category":182,"categories":183,"featuredImage":29,"bgImage":30,"posterImage":185,"relatedSolution":29},36,"deploy-your-applications-with-easypanel-on-a-vps",{"fr":175,"en":173,"ar":176,"es":177},"deployer-avec-easypanel","انشر-تطبيقاتك-باستخدام-easypanel-على-خادم-vps","desplegar-con-easypanel","Deploy your applications with Easypanel on a VPS","Complete Easypanel guide: exact prerequisites, installation, Traefik, TLS, databases, backups, troubleshooting and Coolify \u002F Dokploy comparison.","2026-05-15T00:00:00+00:00","2026-09-17T14:09:38+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[184],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-easypanel-poster.svg",{"id":187,"slug":188,"slugs":189,"title":193,"excerpt":194,"readTime":195,"views":146,"isPinned":19,"publishedAt":196,"updatedAt":197,"category":198,"categories":199,"featuredImage":29,"bgImage":30,"posterImage":201,"relatedSolution":202},33,"deploy-your-applications-with-caprover-on-a-vps",{"fr":190,"en":188,"ar":191,"es":192},"deployer-avec-caprover","انشر-تطبيقاتك-باستخدام-caprover-على-خادم-vps","desplegar-aplicaciones-con-caprover-en-un-vps","Deploy your applications with CapRover on a VPS","Complete CapRover guide: installation, captain-definition, GitHub Actions CI\u002FCD, multi-node cluster, backups and troubleshooting 502, build failed and Docker API errors.",10,"2026-05-18T00:00:00+00:00","2026-09-29T14:40:49+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[200],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caprover-poster.svg",{"categorySlug":33,"appSlug":203},"caprover",1791414793894]