Docker UI is a web app for viewing and managing Docker images, containers, volumes, etc in a web browser.
This project is also meant to serve as a working example of how to build a full-stack web app using:
- NodeJS
- ExpressJS
- ReactJS
- MobX
- FuseBox
Pull the image
docker pull otothea/docker-ui
Run it
docker run -d -p 9898:9898 \
-v /var/run/docker.sock:/var/run/docker.sock \
--name docker-ui \
otothea/docker-ui
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 \
otothea/docker-ui
Clone the repository
git clone https://github.com/otothea/docker-ui.git
Change to the repository directory
cd docker-ui
Install the production dependencies
npm install --prod
Copy the config and adjust as needed (see config options)
cp config.example.js config.js
Start the server
npm run prod
Clone the repository
git clone https://github.com/0SalahEddine0/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.