Home

Awesome

Main-Docker Go Report Card Maintainability Docker Image Size (latest semver)

<h1><a href="https://github.com/aceberg/miniboard"> <img src="https://raw.githubusercontent.com/aceberg/miniboard/main/assets/logo.png" width="20" /> </a>miniboard</h1> Lightweight dashboard with tabs, uptime monitoring and notifications.<br> Can be configured through GUI or yaml file.

screenshot

<details> <summary>More Themes</summary> <img src="https://raw.githubusercontent.com/aceberg/miniboard/main/assets/MiniBoard%20-%20Themes.png"> </details>

Quick start

docker run --name miniboard \
-e "TZ=$YOURTIMEZONE" \
-v ~/.dockerdata/miniboard:/data/miniboard \
-v /var/run/docker.sock:/var/run/docker.sock \ # Only needed to create panel from Docker containers (On Edit panels page)
-p 8849:8849 \
aceberg/miniboard

Or use docker-compose.yml
There is also binary installation available.

Usage

All configuration can be done both with GUI or config file. To start with GUI first create new panel, then create new tab with this panel. Then you can add as many hosts (to panels), panels and tabs as you want.
<br> Also, you can start with example board.yaml file. All fields are commented there.

Config

Configuration can be done through config file or environment variables

VariableDescriptionDefault
AUTHEnable Session-Cookie authenticationfalse
AUTH_EXPIRESession expiration time. A number and suffix: m, h, d or M.7d
AUTH_USERUsername""
AUTH_PASSWORDEncrypted password (bcrypt). How to encrypt password with bcrypt?""
HOSTListen address0.0.0.0
PORTPort for web GUI8849
THEMEAny theme name from https://bootswatch.com in lowcaseflatly
COLORBackground color: light or darkdark
COLORONOnline host color#89ff89
COLOROFFOffline host color#ff3232
BTNWIDTHAdjust buttons to theme180px
WEBREFRESHRefresh interval for Tabs and Uptime pages (seconds)60
DBTRIMDAYSRemove old records from DB after30
TZTime zone (for uptime monitor)""

Options

KeyDescriptionDefault
-bPath to board file/data/miniboard/board.yaml
-cPath to config file/data/miniboard/config.yaml
-dPath to SQLite DB file/data/miniboard/uptime.db
-nPath to node modules (see below)""

Local network only

By default, this app pulls themes, icons and fonts from the internet. But, in some cases, it may be useful to have an independent from global network setup. I created a separate image with all necessary modules and fonts.
If you want to use local icons, download them and mount icon folder (~/.dockerdata/icons in this example) to /app/icons. Then you can open it in browser and copy each icon link to miniboard.

docker run --name node-bootstrap       \
    -v ~/.dockerdata/icons:/app/icons  \ # For local icons
    -p 8850:8850                       \
    aceberg/node-bootstrap
docker run --name miniboard \
    -v ~/.dockerdata/miniboard:/data/miniboard \
    -p 8849:8849 \
    aceberg/miniboard -n "http://$YOUR_IP:8850"

Or use docker-compose

Thanks