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
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.
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
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
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
- 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
- trustx-forwarded-proto
header (only set totrue
if you know you need this) - [user]
string
- the username to access the UI - [pass]
string
- the password to access the UI (required ifuser
is set) - [secret]
string
- the express session key (required ifuser
is set)
- 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
- ✅ Unit Tests.
- 🔲 Integration Tests.
Pull requests are welcome.