Skip to content

dave-lang/webmin-docker

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d36de09 · Nov 4, 2024

History

24 Commits
May 23, 2024
Nov 4, 2024
Nov 4, 2024
Apr 18, 2024
Nov 4, 2024

Repository files navigation

Webmin module for basic docker tasks

Created to manage a local Docker install for a home server. Allows listing of containers; viewing basic container perf stats and docker state; and starting/stopping/restarting containers.

It uses the Docker CLI and abuses the --format {{}} arg for output parsing.

Currently translated to English, Italian and Polish. UI is responsive across all device sizes.

If you're after a full Docker web interface you should consider https://www.portainer.io or https://yacht.sh.

Install

The fastest way to install is to follow the "Http URL" method (https://webmin.com/docs/modules/webmin-configuration/#installing) and use the latest release package using https://github.com/dave-lang/webmin-docker/releases/latest/download/docker.wbm.gz.

Alternatively you can download and install it directly from the releases page or it build manually, the packaging steps are in the GitHub action in the repo.

Once installed a new option 'Docker Containers' will appear in the menu under 'Servers'.

Container listing/actions

image

Container inspection

image

Host docker information

image

Contributing

Improvements or fixes are welcome, please raise it under issues and link to your branch.

Development

Docker configuration has been setup to allow easier development.

This environment has Webmin and Docker already installed, along with a very basic Ubuntu 18 docker config ready to start in the container (Docker in Docker).

The plugin is installed in the Webmin environment via shared folder, changes will appear immediately. This is done via:

  • Sharing the ./docker directory into webmin directory using Docker volume (see docker-compose.yml)
  • Adding the ACL permission for the module via the Dockerfile
  1. cd tools
  2. docker-compose up -d to run docker compose as daemon
  3. Open http://localhost:10000 to access the webmin console
  4. Login is root + password, this can be adjusted in the Dockerfile

To burn and recreate the environment use docker-compose down -v

Use docker exec -it webmin_master /bin/bash to get a SSH console.

Docker will not be running by default, use dockerd to run it, Ctrl+C to stop. Start the internal container via:

  1. cd dind
  2. docker-compose up -d