Coder Social home page Coder Social logo

alexmcarrow / dockge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from louislam/dockge

0.0 0.0 0.0 184 KB

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

License: MIT License

JavaScript 1.31% TypeScript 47.58% HTML 0.39% Vue 44.97% Dockerfile 0.81% SCSS 4.95%

dockge's Introduction

Dockge

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

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

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

โญ Features

  • Manage compose.yaml
    • Create/Edit/Start/Stop/Restart/Delete
    • Update Docker Images
  • Interactive Editor for compose.yaml
  • Interactive Web Terminal
  • 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
  • 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

๐Ÿ”ง How to Install

Requirements:

  • Docker CE 20+ is recommended / Podman
  • (Docker only) Docker Compose Plugin
  • (Podman only) podman-docker (Debian: apt install podman-docker)
  • OS:
    • As long as you can run Docker CE / Podman, it should be fine, but:
    • Debian/Raspbian Buster or lower is not supported, please upgrade to Bullseye or higher
  • Arch: armv7, arm64, amd64 (a.k.a x86_64)

Basic

  • Default Stacks Directory: /opt/stacks
  • Default Port: 5001
# Create a directory that stores your stacks and stores dockge's compose.yaml
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 change the DOCKGE_STACKS_DIR environment variable and volumes.

version: "3.8"
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

      # 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 is your stacks directory
      - DOCKGE_STACKS_DIR=/opt/stacks

How to Update

cd /opt/dockge
docker compose pull
docker compose up -d

Screenshots

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 โญ.

๐Ÿ—ฃ๏ธ

Bug Report

https://github.com/louislam/dockge/issues

Ask for Help / Discussions

https://github.com/louislam/dockge/discussions

FAQ

"Dockge"?

"Dockge" is a coinage word which is created by myself. I hope it sounds like Dodge.

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

More Ideas?

  • Stats
  • File manager
  • App store for yaml templates
  • Get app icons
  • Switch Docker context
  • Support Dockerfile and build
  • Support Docker swarm

Others

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

dockge's People

Contributors

alanimdeo avatar broetchenrackete36 avatar cyril59310 avatar d3-3109 avatar diomedesdominguez avatar furkanipek avatar louislam avatar mhkarimi1383 avatar mreddx avatar thalesc avatar zaid-maker avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.