dockge README

The project's README from github.com/louislam/dockge. As one markdown file: README.md.

Dockge

A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.

GitHub Repo stars Docker Pulls Docker Image Version (latest semver) GitHub last commit (branch)

View Video: https://youtu.be/AWAlOQeNpgU?t=48

⭐ Features

🔧 How to Install

Requirements:

Basic

# 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

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

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:

  1. Stop your stack
  2. Move your compose file into /opt/stacks/<stackName>/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. compose.yaml also known as docker-compose.yml.

dockge (louislam/dockge)

Searching Database…

24.6K ·GitHub
这是什么?Dockge 是一个可自托管、实时响应的 Docker Compose 堆栈网页管理器:在浏览器里就能创建、编辑、启动、停止、重启和删除 compose.yaml 堆栈,更新镜像,并实时查看进度。
它是桌面应用,还是装在我的服务器上?它是一个自托管的网页应用:Dockge 运行在你的 Linux 服务器上,所有操作都在浏览器里完成——默认界面在 5001 端口。
我怎么把它跑起来?部署 README 里现成的 docker compose 文件即可:网页界面在 5001 端口,堆栈默认存放在 /opt/stacks。你需要 Docker 20+ 或 Podman(如果用 Podman,需要装 podman-docker)。
能在 Windows 或 Mac 上运行吗?目前只支持 Linux:Ubuntu、Debian/Raspbian Bullseye+、CentOS、Fedora 和 ArchLinux。Windows 暂不支持,macOS 也没有列出。提供 armv7、arm64 和 amd64 架构的构建,所以树莓派也能用。
在网页界面里我到底能做些什么?创建、编辑、启动、停止、重启和删除堆栈,更新 Docker 镜像,在交互式编辑器里编辑 compose.yaml,还可以使用交互式网页终端。从 1.4.0 开始,通过 agent 可以在同一个界面管理不同 Docker 主机上的堆栈,docker run 命令也能转换成 compose.yaml。
已经有 Portainer 了,作者为什么还要做这个?他用过 Portainer,但对堆栈管理不满意:部署有时会一直转圈好几分钟没有任何进度,报错信息也不清楚。这个项目同时也是他练习 ES Module + TypeScript 开发的练手场。
'Dockge' 这个名字是怎么来的?这是作者自创的词,希望读起来像 'Dodge',灵感来自 Twitch 上那些以 -ge 结尾的表情,比如 sadge、bedge、wokege。很多人把它读成 'Dockage',他也觉得可以接受。
没有 compose.yaml 的话,能管理单个容器吗?不能——Dockge 试图所有事情都通过 docker compose 来做。对于单个容器,它建议改用 Portainer 或 Docker 命令行。
Creator
louislam
Size
1.2 MB
Stars
24.6K
Age
2y
Commits · 90 Days