[{"data":1,"prerenderedAt":215},["ShallowReactive",2],{"seo-verification":3,"blog-deploy-your-applications-with-dokploy-on-a-vps-ma-en":6,"promo-bar-likely":214},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-deploy-your-applications-with-dokploy-on-a-vps-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":158,"ctaBody":159,"ctaButton":160,"ctaUrl":161,"relatedPosts":162},42,"deploy-your-applications-with-dokploy-on-a-vps",{"fr":12,"en":10,"ar":13,"es":14},"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.",9,2,false,"2026-05-09T00:00:00+00:00","2026-09-21T15:22:03+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\u002Fdeployer-avec-dokploy-poster.svg",{"categorySlug":33,"appSlug":34},"application-deployment-devops","dokploy","Dokploy is a lightweight open source PaaS that turns your VPS into a self-hosted deployment platform. Built on Docker Swarm and Traefik, it deploys applications, Docker Compose stacks, and databases from a clean interface, with automatic SSL and Git integrations, without the heaviness of Kubernetes.",[37,41,53,99,102,136,139,142,145,148,152,155],{"type":38,"title":39,"body":40},"h2","Why deploy with Dokploy on your VPS?","Managed PaaS providers popularized a compelling model: push code, get a URL. But that convenience has a price. As traffic grows or databases scale, monthly bills can spiral. Dokploy reverses the equation: install it once on a fixed-resource VPS and get the same deployment experience at a predictable cost starting from 99 DH\u002Fmonth.\n\nThe platform is built entirely on Docker. Each application runs in a container or Compose stack; Dokploy orchestrates networking, volumes, the Traefik reverse proxy, and Let's Encrypt certificates. The web interface lets you manage everything without opening a terminal — though the terminal remains available for advanced operations.",{"type":42,"title":43,"items":44},"ul","Dokploy's key strengths",[45,46,47,48,49,50,51,52],"Deploy from Git (GitHub, GitLab, Bitbucket) or a Docker Hub image","Built-in Traefik reverse proxy with automatic Let's Encrypt SSL","Native Docker Compose support — deploy multi-service stacks in one click","Encrypted environment variables managed directly in the interface","Scheduled backups to S3, Backblaze B2, or any compatible storage","Managed databases (PostgreSQL, MySQL, MongoDB, Redis) provisioned locally","Real-time logs and per-service CPU\u002FRAM metrics","Open source, no forced telemetry, self-hosted on your infrastructure",{"type":54,"title":55,"intro":56,"body":57,"headers":58,"rows":63},"comparison","Dokploy vs Coolify vs Caprover — which one to choose?","Three open-source platforms dominate the self-hosted PaaS market. Here is a factual comparison to help you choose based on your context.","Dokploy stands out for its installation simplicity and first-class Docker Compose support. Coolify is more feature-rich but has a larger configuration surface. Caprover remains a solid choice for teams familiar with NGINX who want extensive documentation. For a new project or a small team, Dokploy offers an excellent simplicity-to-features ratio.",[59,60,61,62],"Criterion","Dokploy","Coolify","Caprover",[64,67,72,76,81,85,90,94],[65,66,66,66],"License","Apache 2.0",[68,69,70,71],"Built-in proxy","Traefik","Traefik \u002F Caddy","NGINX",[73,74,74,75],"Native Docker Compose","Yes","Partial",[77,78,79,80],"Managed databases","Yes (5 engines)","Yes (many)","Not native",[82,83,74,84],"Built-in backups","Yes (S3\u002FB2)","No",[86,87,88,89],"User interface","Modern, clear","Very complete","Functional",[91,92,93,93],"Learning curve","Low","Medium",[95,96,97,98],"Maturity (mid-2026)","Active — v0.15.x","Mature — v4.x","Stable — v1.x",{"type":38,"title":100,"body":101},"Prerequisites","Before installing Dokploy, make sure you have the following:\n\n- A VPS running Ubuntu 22.04 LTS or Debian 12 (recommended), with at least 2 vCPUs and 2 GB of RAM. For complex stacks (Supabase, n8n with workers), plan for 4 GB.\n- SSH access as root or a user with `sudo` privileges.\n- A domain name pointing to your VPS IP — or at minimum the IP address for initial testing.\n- Ports 80 and 443 open in your firewall. Dokploy also uses port 3000 for its interface during installation; you can restrict it afterward.\n- Docker Engine absent from the server at installation time (Dokploy's script installs the correct version itself).",{"type":103,"title":104,"steps":105},"steps","Install and deploy with Dokploy",[106,109,112,115,118,121,124,127,130,133],{"title":107,"body":108},"Connect to your VPS via SSH","Open a terminal and connect: `ssh root@your-ip`. If using a non-root user, prefix the following commands with `sudo`.",{"title":110,"body":111},"Run the official installation script","A single command installs Docker, Traefik, and the Dokploy panel: `curl -sSL https:\u002F\u002Fdokploy.com\u002Finstall.sh | sh`. The script detects your distribution, installs dependencies, and starts services. The operation takes two to five minutes depending on your server's connection.",{"title":113,"body":114},"Access the interface and create your admin account","Once installation is complete, open `http:\u002F\u002Fyour-ip:3000` in your browser. The first visit displays an admin account creation form. Choose a strong password — this is the only account with full access to all resources. You can invite other users with restricted roles from the settings.",{"title":116,"body":117},"Connect your Git repository","In the menu **Settings → Git Providers**, add a personal access token for GitHub, GitLab, or Bitbucket. Dokploy uses it to clone and monitor your repositories. For GitHub, a token with `repo` and `read:user` scopes is sufficient.",{"title":119,"body":120},"Create your first project and service","Click **New Project**, give it a name, then add a **Service**. Choose the type: *Application* (Docker image or Git repository), *Docker Compose*, or *Database*. For a Git application, select the repository and branch to track. Dokploy builds the image automatically on each push if you enable the webhook.",{"title":122,"body":123},"Configure the domain and SSL","In the **Domains** tab of your service, add your domain (e.g. `app.yourdomain.com`). Dokploy automatically creates a Traefik rule and requests a Let's Encrypt certificate via the HTTP-01 challenge. Propagation takes less than a minute if your DNS already points to the server. Enable forced HTTPS redirection from the same tab.",{"title":125,"body":126},"Inject your environment variables","Go to the **Environment** tab of the service. Enter each variable as `KEY=value`. Values are stored encrypted and never exposed in logs. You can also import an existing `.env` file using the dedicated button. After modification, a redeployment is triggered automatically if the option is enabled.",{"title":128,"body":129},"Trigger the first deployment","Click **Deploy**. Dokploy pulls the image or clones the repository, builds if necessary, creates the container, and connects it to the proxy. Follow the progress in the **Deployment Logs** tab in real time. A green indicator confirms the service is `Running`.",{"title":131,"body":132},"Enable webhooks for continuous deployment","Copy the webhook URL shown in the **General** tab of the service, then paste it into your Git repository's webhook settings (event: `push` on the chosen branch). From now on, every `git push` will trigger an automatic redeployment without manual action.",{"title":134,"body":135},"Check service health and metrics","The **Monitoring** tab shows live CPU, RAM, and network usage for the container. If you have configured a health check in your `Dockerfile` (the `HEALTHCHECK` instruction), Dokploy honors it and automatically restarts the container after a prolonged failure.",{"type":38,"title":137,"body":138},"Deploy a complete Docker Compose stack — n8n example","Dokploy's true power shows with multi-service stacks. Here is how to deploy n8n (workflow automation) with its PostgreSQL database.\n\nIn Dokploy, create a new **Docker Compose** service and paste your `docker-compose.yml` directly. A minimal example includes the `n8n` service with `image: n8nio\u002Fn8n`, environment variables like `DB_TYPE=postgresdb` and `DB_POSTGRESDB_HOST=postgres`, and a `postgres` service with a persistent volume.\n\nDokploy creates an isolated internal Docker network for your stack. Services communicate by name (`postgres`, `n8n`) without exposing internal ports. Only n8n's interface port (default `5678`) is declared as an entry point, and Traefik handles HTTPS routing to it.\n\nFor Supabase, the approach is identical: the official `supabase\u002Fsupabase` repository provides a ready-to-use `docker-compose.yml`. Import it, adjust environment variables in the dedicated tab, and deploy. Dokploy orchestrates all fifteen services in the stack without further intervention.",{"type":38,"title":140,"body":141},"Configure domains, SSL, and environment variables","Dokploy supports multiple domains per service — useful for exposing an API and a dashboard under separate subdomains from the same container. Each domain has its own Traefik routing rule and independent SSL certificate.\n\nFor a wildcard (`*.yourdomain.com`), Traefik requires a DNS-01 challenge rather than HTTP-01. Dokploy exposes advanced Traefik configuration options under **Settings → Proxy**; you can inject custom TOML configuration files there.\n\nEnvironment variables deserve special attention: never store secrets in your versioned `docker-compose.yml`. Always use Dokploy's **Environment** tab, which encrypts values at rest. For secrets shared across multiple services in the same stack (encryption key, API token), define them once at the project level and reference them in each service.",{"type":38,"title":143,"body":144},"Backups and managed databases","Dokploy can provision PostgreSQL, MySQL, MongoDB, Redis, and MariaDB instances directly on your VPS, without manually writing Docker Compose files. Under **New Service → Database**, choose the engine, set the name, user, and password — Dokploy creates the container, persistent volume, and exposes it only on the internal network.\n\nFor backups, go to the **Backups** tab of the database service. Configure an S3 destination (AWS, Scaleway Object Storage, Backblaze B2 — any S3-compatible provider). Set a cron schedule (`0 3 * * *` for nightly at 3 AM), a retention period in days, and Dokploy dumps the database, compresses it, and uploads it to object storage.\n\nFor application volumes (uploaded files, generated assets), the same logic applies: Dokploy archives the volume contents and sends them to the same destination. Test restoration regularly — an untested backup is not a backup.",{"type":38,"title":146,"body":147},"Troubleshooting — 4 common errors","Here are the most common error messages and how to resolve them.\n\n**1. `Error response from daemon: pull access denied`** — The Docker image is private or the name is incorrect. Check the exact image name spelling and, if private, add your Docker Hub credentials under **Settings → Docker Registries**.\n\n**2. `Certificate not found for domain`** — Let's Encrypt's HTTP-01 challenge failed. Common causes: DNS not yet pointing to the server (wait for propagation), or port 80 is blocked by the VPS firewall. Verify with `curl -I http:\u002F\u002Fyour-domain` from an external machine.\n\n**3. `Container exited with code 1` at startup** — The application crashes immediately. Open the service's **Logs** tab to read the container's stderr. The cause is almost always a missing environment variable or a refused database connection (wrong hostname, port, or credentials).\n\n**4. `bind: address already in use`** — Another process is occupying the port your service is trying to open. On the server, `ss -tlnp | grep :PORT` identifies the offending process. If it is another Dokploy service, check that internal ports are not declared identically across two different services.",{"type":149,"title":150,"body":151},"tip","Security tip — restrict access to the admin interface","By default, Dokploy's port 3000 is accessible from any IP. In production, restrict it at the firewall level: `ufw allow from YOUR_FIXED_IP to any port 3000`, then `ufw delete allow 3000`. Also place the interface behind your VPN if your team uses one. Enable two-factor authentication under **Settings → Account**. Finally, create accounts with limited roles for team members who do not need access to system settings.",{"type":149,"title":153,"body":154},"Version note","This guide is written in line with features available around Dokploy's v0.15.x branch (mid-2026). The project evolves quickly; check the GitHub changelog for recent updates.",{"type":149,"title":156,"body":157},"Official documentation","Dokploy's complete documentation is available at `docs.dokploy.com`. There you will find CI\u002FCD integration guides (GitHub Actions, GitLab CI), the REST API reference, and advanced Traefik configuration examples.","Deploy Your Dokploy PaaS on a ServOrbit Cloud VPS","Order a Cloud VPS with the Deployment template and install Dokploy: Traefik, automatic SSL, and Git deployments ready to use on your own server.","View Cloud VPS","\u002Fvps-cloud",[163,181,198],{"id":164,"slug":165,"slugs":166,"title":170,"excerpt":171,"readTime":172,"views":18,"isPinned":19,"noindex":19,"publishedAt":173,"updatedAt":174,"category":175,"categories":176,"featuredImage":29,"bgImage":30,"posterImage":178,"relatedSolution":179},33,"deploy-your-applications-with-caprover-on-a-vps",{"fr":167,"en":165,"ar":168,"es":169},"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-11-04T16:30:25+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[177],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caprover-poster.svg",{"categorySlug":33,"appSlug":180},"caprover",{"id":182,"slug":183,"slugs":184,"title":188,"excerpt":189,"readTime":190,"views":191,"isPinned":19,"noindex":19,"publishedAt":192,"updatedAt":193,"category":194,"categories":195,"featuredImage":29,"bgImage":30,"posterImage":197,"relatedSolution":29},34,"deploy-your-applications-with-dokku-on-a-vps",{"fr":185,"en":183,"ar":186,"es":187},"deployer-avec-dokku","انشر-تطبيقاتك-باستخدام-dokku-على-خادم-vps","desplegar-aplicaciones-con-dokku-en-un-vps","Deploy your applications with Dokku on a VPS","Complete Dokku v0.35 guide: installation, buildpacks, env vars, rollback, postgres\u002Fredis\u002Fletsencrypt plugins and troubleshooting common errors.",11,1,"2026-05-17T00:00:00+00:00","2026-10-18T21:57:59+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[196],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-dokku-poster.svg",{"id":199,"slug":200,"slugs":201,"title":205,"excerpt":206,"readTime":172,"views":191,"isPinned":19,"noindex":19,"publishedAt":207,"updatedAt":174,"category":208,"categories":209,"featuredImage":29,"bgImage":30,"posterImage":211,"relatedSolution":212},35,"deploy-your-applications-with-portainer-on-a-vps",{"fr":202,"en":200,"ar":203,"es":204},"deployer-avec-portainer","انشر-تطبيقاتك-باستخدام-portainer-على-خادم-vps","desplegar-aplicaciones-con-portainer-en-un-vps","Deploy your applications with Portainer on a VPS","Manage Docker visually with Portainer on your VPS: containers, stacks, volumes and networks managed from a clear web interface.","2026-05-16T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[210],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-portainer-poster.svg",{"categorySlug":33,"appSlug":213},"portainer",true,1794270387960]