Skip to content

A fancy, easy-to-use and reactive self-hosted docker compose stack-oriented manager forked from louislam/dockge that has had several Pull Requests merged.

License

Notifications You must be signed in to change notification settings

cmcooper1980/dockge

Β 
Β 

Repository files navigation

Dockge

A fancy, easy-to-use and reactive self-hosted docker compose stack-oriented manager forked from louislam/dockge that has had several Pull Requests merged.

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

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

⭐ Pull Requests Merged:

πŸ”§ 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)
  • 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/cmcooper1980/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

Screenshots

Others

Dockge is built on top of Compose V2. compose.yaml also known as docker-compose.yml.

compose.yaml file above is great if cloning and building locally, otherwise, you can use this docker-compose.yml file to run docker command: docker compose up -d just edit the approprite fields [USER], [CONFIG_LOCATION_FOR_DOCKGE], and [PATH_TO_STACKS_DIRECTORY]:

services:
  dockge:
    image: cmcooper1980/dockge:experimental
    container_name: dockge
    restart: unless-stopped
    environment:
      # Tell Dockge where is your stacks directory
      DOCKGE_STACKS_DIR: /opt/stacks
    ports:
      # Host Port : Container Port
      - 5001:5001
    volumes:
      - type: bind
        source: /var/run/docker.sock
        target: /var/run/docker.sock
        bind:
          create_host_path: true
      - type: bind
        source: /home/[USER]/[CONFIG_LOCATION_FOR_DOCKGE]
        target: /app/data
        bind:
          create_host_path: true
      # If you want to use private registries, you need to share the auth file with Dockge:
      # - /root/.docker/:/root/.docker

      # Stacks Directory
      # ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.
      # ⚠️ 1. FULL path only. No relative path (MUST)
      # ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)
      - type: bind
        source: /home/[USER]/[PATH_TO_STACKS_DIRECTORY]
        target: /opt/stacks
        bind:
          create_host_path: true

About

A fancy, easy-to-use and reactive self-hosted docker compose stack-oriented manager forked from louislam/dockge that has had several Pull Requests merged.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 51.2%
  • Vue 41.9%
  • SCSS 3.8%
  • JavaScript 1.5%
  • Dockerfile 0.9%
  • Go 0.4%
  • HTML 0.3%