Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/louislam/dockge
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager
https://github.com/louislam/dockge
docker docker-compose docker-deployment docker-stack docker-stack-deploy docker-ui responsive self-hosted selfhosted single-page-app socket-io webapp websocket
Last synced: 5 days ago
JSON representation
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager
- Host: GitHub
- URL: https://github.com/louislam/dockge
- Owner: louislam
- License: mit
- Created: 2023-10-23T11:18:20.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-14T06:20:34.000Z (2 months ago)
- Last Synced: 2024-12-09T23:00:08.609Z (12 days ago)
- Topics: docker, docker-compose, docker-deployment, docker-stack, docker-stack-deploy, docker-ui, responsive, self-hosted, selfhosted, single-page-app, socket-io, webapp, websocket
- Language: TypeScript
- Homepage: https://dockge.kuma.pet
- Size: 833 KB
- Stars: 13,410
- Watchers: 60
- Forks: 383
- Open Issues: 80
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-homelab - Dockge - to-use and reactive self-hosted docker compose.yaml stack-oriented manager | (Apps / Container)
- awesome-nas - Dockge - commit/louislam/dockge?label= "title")|![图](https://img.shields.io/github/release-date/louislam/dockge?label= "title")|![图](https://img.shields.io/github/license/louislam/dockge?label= "title")|![图](https://img.shields.io/github/stars/louislam/dockge?label=&style=flat "title")|![图](https://img.shields.io/github/languages/top/louislam/dockge "title")| (Docker)
- awesome-rainmana - louislam/dockge - A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager (TypeScript)
- awesome-docker - dockge - easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager by [@louislam](https://github.com/louislam). (Container Operations / User Interface)
- awesome-ops - louislam/dockge - 10-23|2024-08-20 | 一个时髦、易于使用且响应迅速的自托管式 docker compose.yaml 管理器 | (Docker-Tools)
- StarryDivineSky - louislam/dockge
- jimsghstars - louislam/dockge - A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager (TypeScript)
- my-awesome - louislam/dockge - compose,docker-deployment,docker-stack,docker-stack-deploy,docker-ui,responsive,self-hosted,selfhosted,single-page-app,socket-io,webapp,websocket pushed_at:2024-10 star:13.5k fork:0.4k A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager (TypeScript)
- stars - dockge - to-use and reactive self-hosted docker compose.yaml stack-oriented manager | louislam | 13600 | (TypeScript)
- stars - dockge - to-use and reactive self-hosted docker compose.yaml stack-oriented manager | louislam | 13456 | (TypeScript)
README
# Dockge
A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.
[![GitHub Repo stars](https://img.shields.io/github/stars/louislam/dockge?logo=github&style=flat)](https://github.com/louislam/dockge) [![Docker Pulls](https://img.shields.io/docker/pulls/louislam/dockge?logo=docker)](https://hub.docker.com/r/louislam/dockge/tags) [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/louislam/dockge/latest?label=docker%20image%20ver.)](https://hub.docker.com/r/louislam/dockge/tags) [![GitHub last commit (branch)](https://img.shields.io/github/last-commit/louislam/dockge/master?logo=github)](https://github.com/louislam/dockge/commits/master/)
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![](https://github.com/louislam/dockge/assets/1336778/89fc1023-b069-42c0-a01c-918c495f1a6a)
## 🔧 How to Install
Requirements:
- [Docker](https://docs.docker.com/engine/install/) 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)
- 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
```bash
cd /opt/dockge
docker compose pull && docker compose up -d
```## Screenshots
![](https://github.com/louislam/dockge/assets/1336778/e7ff0222-af2e-405c-b533-4eab04791b40)
![](https://github.com/louislam/dockge/assets/1336778/7139e88c-77ed-4d45-96e3-00b66d36d871)
![](https://github.com/louislam/dockge/assets/1336778/f019944c-0e87-405b-a1b8-625b35de1eeb)
![](https://github.com/louislam/dockge/assets/1336778/a4478d23-b1c4-4991-8768-1a7cad3472e3)
## 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 (Originally, I planned to use Deno or Bun.js, but they don't have support for arm64, so I stepped back to Node.js)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](https://github.com/louislam/dockge/blob/master/frontend/src/lang/README.md)### Create a Pull Request
Be sure to read the [guide](https://github.com/louislam/dockge/blob/master/CONTRIBUTING.md), 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:
1. Stop your stack
2. Move your compose file into `/opt/stacks//compose.yaml`
3. In Dockge, click the " Scan Stacks Folder" button in the top-right corner's dropdown menu
4. 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](https://docs.docker.com/compose/migrate/). `compose.yaml` also known as `docker-compose.yml`.