Giter Site home page Giter Site logo

furkanipek / dockge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from louislam/dockge

0.0 0.0 1.0 323 KB

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

License: MIT License

JavaScript 1.83% TypeScript 47.88% HTML 0.37% Vue 44.53% Dockerfile 0.63% SCSS 4.75%

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: - /my-stacks:/my-stacks (Both paths match)
      # โŒโŒโŒโŒ WRONG: - /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

Translation

If you want to translate Dockge into your language, please read Translation Guide

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

louislam avatar zaid-maker avatar furkanipek avatar d3-3109 avatar mreddx avatar ryanbalfanz avatar 401u avatar alanimdeo avatar alexmcarrow avatar aonodensetsu avatar artyomcz avatar cellerich avatar cyril59310 avatar trainax avatar diomedesdominguez avatar lord0fbytes avatar mhkarimi1383 avatar altendorfme avatar rumplin avatar thalesc avatar abosaad11 avatar annorberg98 avatar broetchenrackete36 avatar sxikari avatar watchakorn-18k avatar

Forkers

gschmucker95ski

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.