24.6k GitHub stars and counting — louislam/dockge is a TypeScript project TopGit is tracking across repositories on the platform. A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
View Video: https://youtu.be/AWAlOQeNpgU?t=48
⭐ Features
🧑💼 Manage your compose.yaml files
Create/Edit/Start/Stop/Restart/Delete
Update Docker Images
⌨️ Interactive Editor for compose.yaml
🦦 Interactive Web Terminal
🕷️ (1.4.0 🆕) Multiple agents support - You can manage multiple stacks from different Docker hosts in one single interface
🏪 Convert docker run ... commands into compose.yaml
📙 File based structure - Dockge won't kidnap your compose files, they are stored on your drive as usual. You can interact with them using normal docker compose commands
🚄 Reactive - Everything is just responsive. Progress (Pull/Up/Down) and terminal output are in real-time
🐣 Easy-to-use & fancy UI - If you love Uptime Kuma's UI/UX, you will love this one too
Major Linux distros that can run Docker/Podman such as:
✅ Ubuntu
✅ Debian (Bullseye or newer)
✅ Raspbian (Bullseye or newer)
✅ CentOS
✅ Fedora
✅ ArchLinux
❌ Debian/Raspbian Buster or lower is not supported
❌ Windows (Will be supported later)
Arch: armv7, arm64, amd64 (a.k.a x86_64)
Basic
Default Stacks Directory: /opt/stacks
Default Port: 5001
# Create directories that store your stacks and stores Dockge's stack
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
# Download the compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
# Start the server
docker compose up -d
# If you are using docker-compose V1 or Podman
# docker-compose up -d
Dockge is now running on http://localhost:5001
Advanced
If you want to store your stacks in another directory, you can generate your compose.yaml file by using the following URL with custom query strings.
# Download your compose.yaml
curl "https://dockge.kuma.pet/compose.yaml?port=5001&stacksPath=/opt/stacks" --output compose.yaml
port=5001
stacksPath=/opt/stacks
Also, once compose is generated/downloaded, add the PUID and PGID section below to your compose environment: section to set stack ownership, otherwise default is root
# Both PUID and PGID must be set for it to do anything
- PUID=1000 # Set the stack file/dir ownership to this user
- PGID=1000 # Set the stack file/dir ownership to this group
Interactive compose.yaml generator is available on:
https://dockge.kuma.pet
-OR-
Copy and paste your compose from the following:
If you want to store your stacks in another directory, you can change the DOCKGE_STACKS_DIR environment variable and volumes.
compose:
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
ports:
# Host Port:Container Port
- 5001:5001
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/app/data
# If you want to use private registries, you need to share the auth file with Dockge:
# - /root/.docker/:/root/.docker
# Stacks Directory
# Your stacks directory in the host (The paths inside container must be the same as the host)
# ⚠️ If you did it wrong, your data could end up be written into a wrong path.
# ✔️ CORRECT EXAMPLE: - /my-stacks:/my-stacks (Both paths match)
# ❌ WRONG EXAMPLE: - /docker:/my-stacks (Both paths do not match)
- /opt/stacks:/opt/stacks
environment:
# Tell Dockge where your stacks directory is
- DOCKGE_STACKS_DIR=/opt/stacks
# Both PUID and PGID must be set for it to do anything
- PUID=1000 # Set the stack file/dir ownership to this user
- PGID=1000 # Set the stack file/dir ownership to this group
How to Update
cd /opt/dockge
docker compose pull && docker compose up -d
Screenshots
Motivations
I have been using Portainer for some time, but for the stack management, I am sometimes not satisfied with it. For example, sometimes when I try to deploy a stack, the loading icon keeps spinning for a few minutes without progress. And sometimes error messages are not clear.
Try to develop with ES Module + TypeScript
If you love this project, please consider giving it a ⭐.
🗣️ Community and Contribution
Bug Report
https://github.com/louislam/dockge/issues
Ask for Help / Discussions
https://github.com/louislam/dockge/discussions
Translation
If you want to translate Dockge into your language, please read Translation Guide
Create a Pull Request
Be sure to read the guide, as we don't accept all types of pull requests and don't want to waste your time.
FAQ
"Dockge"?
"Dockge" is a coinage word which is created by myself. I originally hoped it sounds like Dodge, but apparently many people called it Dockage, it is also acceptable.
The naming idea came from Twitch emotes like sadge, bedge or wokege. They all end in -ge.
Can I manage a single container without compose.yaml?
The main objective of Dockge is to try to use the docker compose.yaml for everything. If you want to manage a single container, you can just use Portainer or Docker CLI.
Can I manage existing stacks?
Yes, you can. However, you need to move your compose file into the stacks directory:
Stop your stack
Move your compose file into /opt/stacks/<stackName>/compose.yaml
In Dockge, click the " Scan Stacks Folder" button in the top-right corner's dropdown menu
Now you should see your stack in the list
Is Dockge a Portainer replacement?
Yes or no. Portainer provides a lot of Docker features. While Dockge is currently only focusing on docker-compose with a better user interface and better user experience.
If you want to manage your container with docker-compose only, the answer may be yes.
If you still need to manage something like docker networks, single containers, the answer may be no.
Can I install both Dockge and Portainer?
Yes, you can.
Others
Dockge is built on top of Compose V2. compose.yaml also known as docker-compose.yml.
How does louislam/dockge compare to other Backend projects?
louislam/dockge is tracked by TopGit in the Backend category, with 24.6k GitHub stars and written in TypeScript. Browse the Backend topic page on TopGit to compare it against similar projects by stars and activity.
How many stars does louislam/dockge have?
louislam/dockge has 24.6k GitHub stars — refresh the page for the live number, or check github.com/louislam/dockge. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is louislam/dockge open source?
Yes — louislam/dockge ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/louislam/dockge.
What else is in the Backend space?
louislam/dockge is tracked by TopGit under the Backend category, alongside 13 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is louislam/dockge?
louislam/dockge (louislam/dockge) is a TypeScript project on GitHub. From the project's own README: A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager
Where can I see louislam/dockge in action?
The project maintains a homepage at https://dockge.kuma.pet. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about louislam/dockge?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/louislam/dockge is the definitive source.
Read full README in the tab above.
Is dockge worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of dockge.