Skip to content

Assifar-Karim/docker-gui

 
 

Repository files navigation

Docker GUI

Docker GUI is a web app for viewing and managing Docker images, containers, volumes, etc in a web browser.

This project is a fork of the original Docker UI project made by @otothea and that can be found here.

The initial project that we worked on together can be found here

Docker UI Screenshot 1

Docker UI Screenshot 2

Docker UI Screenshot 3

Usage

The usage of Docker GUI takes three forms, if you wish to install both the client and the server in your local machine then follow the production FULL section. However, if you only wish to install the Docker GUI server in your machine then follow the Production Server section.

If you wish to contribute to Docker GUI and develop new features to the tool then you can follow the Development section.

Production FULL

Build the image

docker build -t docker-gui .

Run it

docker run -d -p 9898:9898 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name docker-gui docker-gui

Run it with authentication (see environment variables)

docker run -d -p 9898:9898 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name docker-ui \
  -e DOCKER_UI_HTTPS=1 \
  -e DOCKER_UI_USER=username \
  -e DOCKER_UI_PASS=password \
  -e DOCKER_UI_SECRET=supersecretsessionkey \
  docker-ui

Production Server

Pull the image

docker pull ghcr.io/Assifar-Karim/docker-gui-server:latest

Run it

docker run -d -p 9898:9898 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name docker-gui-server\
  ghcr.io/Assifar-Karim/docker-gui-server:latest

Development

Clone this fork:

git clone https://github.com/Assifar-Karim/docker-gui

Change to the repository directory

cd docker-gui

Install the dependencies

npm install

Copy the config and adjust as needed (see config options)

cp config.example.js config.js

Start the client

npm run watch

Start the server

npm start

Config Options

  • host string - the hostname the API listens on
  • port number - the port the API listens on
  • [debugger] number - the port the debugger listens on (required if dev)
  • [https] boolean - force https
  • [httpsProto] boolean - trust x-forwarded-proto header (only set to true if you know you need this)
  • [user] string - the username to access the UI
  • [pass] string - the password to access the UI (required if user is set)
  • [secret] string - the express session key (required if user is set)

Environment Variables

  • DOCKER_UI_HOST - override config.host
  • DOCKER_UI_PORT - override config.port
  • DOCKER_UI_DEBUGGER - override config.debugger
  • DOCKER_UI_HTTPS - override config.https
  • DOCKER_UI_HTTPS_PROTO - override config.httpsProto
  • DOCKER_UI_USER - override config.user
  • DOCKER_UI_PASS - override config.pass
  • DOCKER_UI_SECRET - override config.secret

Testing

  • ✅ Unit Tests.
  • 🔲 Integration Tests.

Contributing

Pull requests are welcome.

Contributors

About

A Graphical User Interface for managing images , volumes , Docker containers and many more ...

Topics

Resources

Stars

Watchers

Forks

Languages

  • JavaScript 97.2%
  • SCSS 1.1%
  • Other 1.7%