[{"data":1,"prerenderedAt":136},["ShallowReactive",2],{"seo-verification":3,"blog-how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":77,"ctaBody":78,"ctaButton":79,"ctaUrl":80,"relatedPosts":81},161,"how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager",{"fr":10,"en":8,"ar":11},"self-host-dockge-vps","استضافة-dockge-على-vps-مدير-مرئي-لـ-docker-compose","How to Self-Host Dockge on a VPS: Visual Docker Compose Manager","Deploy Dockge on your VPS: a lightweight open-source visual manager to create, edit and monitor your Docker Compose stacks from a clean web UI, no command line.",4,0,false,"2026-07-03T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-dockge-vps-poster.svg",{"categorySlug":30,"appSlug":31},"application-deployment-devops","dockge","Managing Docker Compose stacks by hand works fine for one or two apps, but breaks down fast when you run a dozen services across a VPS. Dockge (MIT, 23.7k stars) is a visual manager for Docker Compose built by Louis Lam — the same developer behind Uptime Kuma. It gives you a clean browser UI to create, edit, start, stop and monitor every stack on your server, with live terminal output and real-time status. Here is how to deploy it on a VPS in under 10 minutes.",[34,38,48,51,73],{"type":35,"title":36,"body":37},"h2","Why a visual Docker Compose manager","Once you start running more than a handful of Docker Compose stacks, the workflow of SSH-ing into each server, navigating to the right directory, and running `docker compose up -d` or `docker compose logs` quickly becomes tedious. Dockge centralises all of this in a single browser tab: you see every stack, its live status, and its logs at a glance. Creating a new stack is a form — you paste in your `compose.yaml` and hit Start. No file manager, no SSH.",{"type":39,"title":40,"items":41},"ul","What self-hosted Dockge gives you",[42,43,44,45,46,47],"Visual editor for `compose.yaml` files — create or edit stacks directly in the browser with syntax highlighting.","One-click start, stop, restart and update for each stack — no need to SSH or memorise compose commands.","Live log streaming per stack and per container, with colour-coded output.","Real-time status dashboard showing which stacks are running, stopped or in error.","Multi-instance support (v1.4+): manage Dockge instances on remote Docker hosts from a single primary UI.","Runs as a single container under 150 MB RAM — safe to add to any existing VPS without impacting running workloads.",{"type":35,"title":49,"body":50},"Requirements","A VPS with Ubuntu 22.04 (or Debian 12) and Docker + Docker Compose v2 already installed. Dockge itself needs under 150 MB RAM and a few MB of disk for its SQLite database. No domain name is required — Dockge serves its UI on port 5001 over plain HTTP, accessible via your server's IP. If you want HTTPS, place a Caddy or Nginx reverse proxy in front and issue a Let's Encrypt certificate.",{"type":52,"title":53,"steps":54},"steps","Deploy Dockge with Docker Compose",[55,58,61,64,67,70],{"title":56,"body":57},"Create the stacks directory","Dockge stores every stack it manages as a `compose.yaml` file under a dedicated directory on the host — `\u002Fopt\u002Fstacks` by default. Create it before starting the container: `mkdir -p \u002Fopt\u002Fstacks`. Dockge mounts this directory inside the container so files survive container restarts and upgrades.",{"title":59,"body":60},"Write the Compose file","Create `\u002Fopt\u002Fdockge\u002Fcompose.yaml` with the following content. The container mounts the Docker socket (`\u002Fvar\u002Frun\u002Fdocker.sock`) so it can manage other containers on the same host, the `\u002Fopt\u002Fstacks` directory so it can read and write stack files, and a named volume for its own SQLite database. Set `DOCKGE_STACKS_DIR` to match the host path you chose.",{"title":62,"body":63},"Start Dockge","Run `docker compose up -d` inside `\u002Fopt\u002Fdockge`. The image (`louislam\u002Fdockge:1`) is about 200 MB on first pull. Once running, open `http:\u002F\u002F\u003Cyour-server-ip>:5001` in your browser. Dockge will prompt you to create an admin account on the first visit — set a strong password immediately.",{"title":65,"body":66},"Add your first stack","Click « + Compose » in the Dockge UI, give the stack a name (this becomes the subdirectory under `\u002Fopt\u002Fstacks`), paste your `compose.yaml` content, and hit Start. Dockge runs `docker compose up -d` under the hood and shows you the live pull and startup logs. The stack appears in the dashboard with green status once all services are healthy.",{"title":68,"body":69},"Optional: restrict access with a reverse proxy","By default Dockge listens on all interfaces on port 5001. To avoid exposing it to the internet, either bind it to `127.0.0.1:5001` in the Compose file (add `\"127.0.0.1:5001:5001\"` to ports) and proxy it with Caddy or Nginx, or add a `ufw` rule to allow port 5001 only from your IP: `ufw allow from \u003Cyour-ip> to any port 5001`. Never expose the Dockge UI to the public internet without authentication.",{"title":71,"body":72},"Logging in for the first time","Open the URL: Dockge shows a screen for creating the administrator account (there are no default credentials). Create it straight away, with a strong password.",{"type":74,"title":75,"body":76},"tip","The web console is disabled by default — keep it that way","Dockge v1.5.0 disabled the built-in terminal console (web shell access) by default after a security advisory (GHSA-7vx4-hf96-mqq6). Do not enable it on a public-facing instance unless you fully understand the risk. The rest of Dockge — stack management, logs, status — is fully functional without the console. If you need shell access, use a proper SSH session or a dedicated terminal tool.","Deploy Dockge on your VPS in one click","Stop managing Docker Compose stacks over SSH. ServOrbit provisions a ready-to-use Dockge instance on a VPS — Docker socket and stacks directory pre-configured, accessible from your browser in minutes.","Deploy Dockge","\u002Fvps-cloud?template=dockge",[82,104,120],{"id":83,"slug":84,"slugs":85,"title":88,"excerpt":89,"readTime":90,"views":15,"isPinned":16,"publishedAt":91,"category":92,"categories":98,"featuredImage":26,"bgImage":27,"posterImage":100,"relatedSolution":101},133,"self-host-beszel-multi-server-monitoring-hub-on-your-vps",{"fr":86,"en":84,"ar":87},"self-host-beszel-vps","استضف-beszel-على-vps-مركز-مراقبة-متعدد-الخوادم","Beszel on VPS: multi-server monitoring, alerts and security","Deploy Beszel on a VPS, monitor your entire fleet from one hub, set up Telegram\u002Femail alerts, enable 2FA and fix silent agents, TLS errors and blocked ports.",10,"2026-02-14T00:00:00+00:00",{"id":93,"name":94,"slug":95,"color":96,"icon":97},8,"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[99],{"id":93,"name":94,"slug":95,"color":96,"icon":97},"\u002Fblog\u002Fcovers\u002Fself-host-beszel-vps-poster.svg",{"categorySlug":102,"appSlug":103},"monitoring-observability","beszel",{"id":105,"slug":106,"slugs":107,"title":110,"excerpt":111,"readTime":112,"views":15,"isPinned":16,"publishedAt":113,"category":114,"categories":115,"featuredImage":26,"bgImage":27,"posterImage":117,"relatedSolution":118},105,"monitoring-your-vps-with-uptime-kuma",{"fr":108,"en":106,"ar":109},"superviser-vps-uptime-kuma","مراقبة-خادمك-الافتراضي-vps-باستخدام-uptime-kuma","Monitoring your VPS with Uptime Kuma","Deploy Uptime Kuma on your VPS to monitor your sites and services self-hosted, with alerts and a public status page.",3,"2026-03-07T00:00:00+00:00",{"id":93,"name":94,"slug":95,"color":96,"icon":97},[116],{"id":93,"name":94,"slug":95,"color":96,"icon":97},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":102,"appSlug":119},"uptime-kuma",{"id":121,"slug":122,"slugs":123,"title":126,"excerpt":127,"readTime":14,"views":15,"isPinned":16,"publishedAt":128,"category":129,"categories":130,"featuredImage":26,"bgImage":27,"posterImage":132,"relatedSolution":133},74,"host-gitea-on-your-own-vps",{"fr":124,"en":122,"ar":125},"heberger-gitea","استضافة-gitea-على-خادم-vps-الخاص-بك","Host Gitea on your own VPS","Deploy Gitea on a VPS with Docker, reverse proxy and SSL. A lightweight, fast Git forge, 100% under your control.","2026-04-07T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[131],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":134,"appSlug":135},"development","gitea",1787581005695]