Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amerkurev/doku
💽 Doku - Docker disk usage dashboard
https://github.com/amerkurev/doku
dashboard devops disk-space disk-usage docker docker-disk-usage monitoring size-calculation utility
Last synced: 4 days ago
JSON representation
💽 Doku - Docker disk usage dashboard
- Host: GitHub
- URL: https://github.com/amerkurev/doku
- Owner: amerkurev
- License: mit
- Created: 2022-06-13T08:24:02.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-04T08:49:57.000Z (about 1 year ago)
- Last Synced: 2024-10-12T07:14:03.879Z (2 months ago)
- Topics: dashboard, devops, disk-space, disk-usage, docker, docker-disk-usage, monitoring, size-calculation, utility
- Language: Go
- Homepage: https://docker-disk.space
- Size: 2.7 MB
- Stars: 294
- Watchers: 3
- Forks: 11
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-docker - Doku - Doku is a simple web-based application that allows you to monitor Docker disk usage. [@amerkurev](https://github.com/amerkurev) (Container Operations / Monitoring)
- awesome-homelab - Doku - Docker disk usage dashboard | (Apps / Monitoring)
README
# Doku
Doku is a simple, lightweight web-based application that allows you to monitor Docker disk usage in a user-friendly manner.
The Doku displays the amount of disk space used by the Docker daemon, splits by images, containers, volumes, and builder cache.
If you're lucky, you'll also see the sizes of log files :)Doku should work for most. It has been tested with dozen of hosts.
[![Build](https://github.com/amerkurev/doku/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/amerkurev/doku/actions/workflows/ci.yml)Â
[![Coverage Status](https://coveralls.io/repos/github/amerkurev/doku/badge.svg?branch=master)](https://coveralls.io/github/amerkurev/doku?branch=master)Â
[![GoReportCard](https://goreportcard.com/badge/github.com/amerkurev/doku)](https://goreportcard.com/report/github.com/amerkurev/doku)Â
[![Docker Hub](https://img.shields.io/docker/automated/amerkurev/doku.svg)](https://hub.docker.com/r/amerkurev/doku/tags)Â
[![Docker pulls](https://img.shields.io/docker/pulls/amerkurev/doku.svg)](https://hub.docker.com/r/amerkurev/doku)Â![laptop_doku](https://user-images.githubusercontent.com/28217522/235870076-a344527c-874d-41a4-bda9-749efd4ff917.svg)
## Getting Doku
Doku is a very small Docker container (6 MB compressed). Pull the latest release from the index:
docker pull amerkurev/doku:latest
## Using Doku
The simplest way to use Doku is to run the Docker container. Mount the Docker Unix socket with `-v` to `/var/run/docker.sock`. Also, you need to mount the top-level directory (`/`) on the host machine in `ro` mode. Otherwise, Doku will not be able to calculate the size of the logs and bind mounts.
docker run --name doku -d -v /var/run/docker.sock:/var/run/docker.sock:ro -v /:/hostroot:ro -p 9090:9090 amerkurev/doku
Use following configuration for docker compose:
```yaml
version: "3"
services:
docu:
image: amerkurev/doku:v0.0.16
ports:
- 9090:9090
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /:/hostroot:ro
```Doku will be available at [http://localhost:9090/](http://localhost:9090/). You can change `-p 9090:9090` to any port. For example, if you want to view Doku over port 8080 then you would do `-p 8080:9090`.
## Basic auth
Doku supports basic auth for all requests. This functionality is disabled by default.
In order to enable basic auth, user should set the typical htpasswd file with `--basic-htpasswd=` or `env BASIC_HTPASSWD=`.
Doku expects htpasswd file to be crypted with `bcrypt` algorithm in the following format:
```
username1:bcrypt(password1)
username2:bcrypt(password2)
...
```this can be generated with `htpasswd -nbB` command, i.e. `htpasswd -nbB test passwd`
## Supported architectures
- linux/amd64
- linux/arm/v7
- linux/arm64## Special thanks to
The following great works inspired me:
- Gatus: https://github.com/TwiN/gatus
- Dozzle: https://github.com/amir20/dozzle
- Reproxy: https://github.com/umputun/reproxy## License
[MIT](LICENSE)