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 — это self-hosted веб-менеджер для стеков Docker Compose с обновлением в реальном времени: прямо в браузере вы можете создавать, редактировать, запускать, останавливать, перезапускать и удалять стеки compose.yaml, обновлять образы и следить за прогрессом вживую.
Это десктопное приложение или оно живёт на моём сервере?Это self-hosted веб-приложение: Dockge работает на вашем Linux-сервере, а управлять всем можно из браузера — по умолчанию интерфейс доступен на порту 5001.
Как его запустить?Разверните готовый docker compose файл из README: веб-интерфейс поднимается на порту 5001, а стеки по умолчанию лежат в /opt/stacks. Понадобится Docker 20+ или Podman (если у вас Podman — с podman-docker).
Можно запустить на Windows или Mac?Пока только Linux: Ubuntu, Debian/Raspbian Bullseye+, CentOS, Fedora и ArchLinux. Windows пока не поддерживается, macOS в списке не значится. Сборки есть для armv7, arm64 и amd64, так что Raspberry Pi подойдёт.
Что вообще можно делать через веб-интерфейс?Создавать, редактировать, запускать, останавливать, перезапускать и удалять стеки, обновлять Docker-образы, править compose.yaml в интерактивном редакторе и работать в интерактивном веб-терминале. С версии 1.4.0 агенты позволяют управлять стеками на разных Docker-хостах из одного интерфейса, а команды docker run можно конвертировать в compose.yaml.
Почему автор сделал это, если уже есть Portainer?Он пользовался Portainer, но управление стеками его не устраивало: деплой иногда крутился по несколько минут без какого-либо прогресса, а сообщения об ошибках были непонятными. К тому же это было полигоном для разработки на ES Module + TypeScript.
Откуда взялось название 'Dockge'?Это придуманное слово: автор хотел, чтобы оно звучало как 'Dodge', по мотивам эмотов Twitch вроде sadge, bedge или wokege, которые все заканчиваются на -ge. Многие читают его как 'Dockage' — автора это тоже вполне устраивает.
Можно ли управлять одиночным контейнером без compose.yaml?Нет — Dockge для всего пытается использовать docker compose. Для одиночных контейнеров он предлагает вместо этого Portainer или обычный Docker CLI.
Creator
louislam
Size
1.2 MB
Stars
24.6K
Age
2y
Commits · 90 Days