Discover Dockge, the innovative DIY Docker manager transforming your Linux server experience! This user-friendly tool introduces a whole new level of ease in self-hosting Docker containers. Whether you're a seasoned pro or just beginning, Dockge is your go-to for Docker management with a slick UI/UX.
Contents
What is Dockge?
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
Dockge is a web-based tool that provides a clean interface and a Compose.yaml editor that lets you easily create, edit, start, stop, restart, and delete Docker containers and services.
It also supports docker-compose and podman, which lets you manage multiple stacks on different Docker hosts.
Dockge is designed with a file-based structure in mind; it doesn't kidnap your compose files, but instead stores them on your hard disk, and you can interact with them as you normally would using the normal docker compose command.
Dockge is also reactive in that it displays progress (pull, up, down) and terminal output in real time.
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 intocompose.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
How to Install
Requirements:
- Docker 20+ / Podman
- (Podman only) podman-docker (Debian:
apt install podman-docker
) - OS:
- 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)
- Major Linux distros that can run Docker/Podman such as:
- 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
Interactive compose.yaml generator is available on: https://dockge.kuma.pet
How to Update
cd /opt/dockge
docker compose pull && docker compose up -d
Install and use the dockge on Ubuntu
Built environment
Ubuntu 22.04 LTS
docker / docker-compose
The directories to use are /opt/stack and /opt/dockge.
dockge is the data storage location of the dockge container.
The rest of the docker-compose stack is stored in /opt/stack.
Install dockge
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
The basic compose.yaml contents are as follows.
Please note that port 5001 is used by default.
Start the container with the docker-compose up -d command.
Once the container is created, connect to port 5001.
Proceed to create an account in the setup window.
Because it is linked to docker socket, existing containers are also visible.
If it isn't created with Dockge, you won't see it. Let's create a new one.
Try creating a new container
press +Compose, there will be a default sample automatically.
If you change compose.yaml, the Edit page below is also automatically reflected.
All you have to do is Depoly.
Once creation is complete, a terminal log will appear.
Synchronize the used stack
It is also simple to raise the stack you were using.
When you synchronize, one is created on the stack.
When you start it, it appears as below.
The one I was previously using was docker-compose.yml, so it is not recognized by compose.yaml. All you have to do is edit it.
After changing it to compose.yaml, it is recognized well.
ok!
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
.
If you like the project and want to learn more, be sure to check out the Dockge Github repo and give the project a star!