[{"data":1,"prerenderedAt":148},["ShallowReactive",2],{"seo-verification":3,"blog-how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager-ma-en":6,"promo-bar-likely":147},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager-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":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":81,"ctaBody":82,"ctaButton":83,"ctaUrl":84,"relatedPosts":85},161,"how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager",{"fr":12,"en":10,"ar":13,"es":14},"self-host-dockge-vps","استضافة-dockge-على-vps-مدير-مرئي-لـ-docker-compose","alojar-dockge-en-un-vps","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,1,false,"2026-07-03T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-dockge-vps-poster.svg",{"categorySlug":34,"appSlug":35},"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.",[38,42,52,55,77],{"type":39,"title":40,"body":41},"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":43,"title":44,"items":45},"ul","What self-hosted Dockge gives you",[46,47,48,49,50,51],"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":39,"title":53,"body":54},"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":56,"title":57,"steps":58},"steps","Deploy Dockge with Docker Compose",[59,62,65,68,71,74],{"title":60,"body":61},"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":63,"body":64},"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":66,"body":67},"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":69,"body":70},"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":72,"body":73},"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":75,"body":76},"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":78,"title":79,"body":80},"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",[86,110,128],{"id":87,"slug":88,"slugs":89,"title":93,"excerpt":94,"readTime":95,"views":96,"isPinned":19,"noindex":19,"publishedAt":97,"updatedAt":98,"category":99,"categories":104,"featuredImage":30,"bgImage":31,"posterImage":106,"relatedSolution":107},133,"self-host-beszel-multi-server-monitoring-hub-on-your-vps",{"fr":90,"en":88,"ar":91,"es":92},"self-host-beszel-vps","استضف-beszel-على-vps-مركز-مراقبة-متعدد-الخوادم","alojar-beszel-hub-monitorizacion-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.",8,2,"2026-02-14T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":95,"name":100,"slug":101,"color":102,"icon":103},"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[105],{"id":95,"name":100,"slug":101,"color":102,"icon":103},"\u002Fblog\u002Fcovers\u002Fself-host-beszel-vps-poster.svg",{"categorySlug":108,"appSlug":109},"monitoring-observability","beszel",{"id":111,"slug":112,"slugs":113,"title":117,"excerpt":118,"readTime":95,"views":119,"isPinned":19,"noindex":19,"publishedAt":120,"updatedAt":121,"category":122,"categories":123,"featuredImage":30,"bgImage":31,"posterImage":125,"relatedSolution":126},105,"monitoring-your-vps-with-uptime-kuma",{"fr":114,"en":112,"ar":115,"es":116},"superviser-vps-uptime-kuma","مراقبة-خادمك-الافتراضي-vps-باستخدام-uptime-kuma","supervisar-vps-con-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.",0,"2026-03-07T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":95,"name":100,"slug":101,"color":102,"icon":103},[124],{"id":95,"name":100,"slug":101,"color":102,"icon":103},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":108,"appSlug":127},"uptime-kuma",{"id":129,"slug":130,"slugs":131,"title":135,"excerpt":136,"readTime":137,"views":18,"isPinned":19,"noindex":19,"publishedAt":138,"updatedAt":139,"category":140,"categories":141,"featuredImage":30,"bgImage":31,"posterImage":143,"relatedSolution":144},74,"host-gitea-on-your-own-vps",{"fr":132,"en":130,"ar":133,"es":134},"heberger-gitea","استضافة-gitea-على-خادم-vps-الخاص-بك","alojar-gitea-en-un-vps","Host Gitea on your own VPS in 2026","Deploy Gitea 1.25 on a VPS with Docker and SSL. Full guide: Gitea Actions CI\u002FCD, Gitea vs Forgejo v16 comparison, daily administration, SSH and HTTPS troubleshooting.",13,"2026-04-07T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[142],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":145,"appSlug":146},"development","gitea",true,1794270430558]