gopherdashboard: Sysadmin via Gopher
_ _ _ _ _ _
__ _ ___ _ __ | |_ ___ _ _ __| | __ _ ___ | |_ | |__ ___ __ _ _ _ __| | (_)
/ _` | / _ \ | '_ \ | ' \ / -_) | '_| / _` | / _` | (_-< | ' \ | '_ \ / _ \ / _` | | '_| / _` | _
\__, | \___/ | .__/ |_||_| \___| |_| \__,_| \__,_| /__/ |_||_| |_.__/ \___/ \__,_| |_| \__,_| (_)
|___/ |_|
___ _ _
/ __| _ _ ___ __ _ __| | _ __ (_) _ _
\__ \ | || | (_-< / _` | / _` | | ' \ | | | ' \
|___/ \_, | /__/ \__,_| \__,_| |_|_|_| |_| |_||_|
|__/
_
__ __ (_) __ _
\ V / | | / _` |
\_/ |_| \__,_|
___ _
/ __| ___ _ __ | |_ ___ _ _
| (_ | / _ \ | '_ \ | ' \ / -_) | '_|
\___| \___/ | .__/ |_||_| \___| |_|
|_|
╔─*──*──*──*──*──*──*──*──*──*──*──*──*──*──*──*─╗
║1 ........................................ 1║
║2* ........................................ *2║
║3 ........................................ 3║
║1 ...........Posted: 2024-03-07........... 1║
║2* .....Tags: gopher haskell showcase ..... *2║
║3 ........................................ 3║
║1 ........................................ 1║
╚────────────────────────────────────────────────╝
gopherdashboard[1].
Anonymous forum software written for the Gopher Protocol in Haskell. You may
want to read my article on using the Gopher Protocol[2].
Some core things I learned or did:
* systemd daemon managed
* release management
* packaging for debian
* worrying about privileges/infosec (I am, after all, allowing people to
configure the dashboard to execute potentially any arbitrary command they
want)
Cool features:
* Execute arbitrary commands if you want (flag to enable this not-so-safe
feature)
* Monitor arbitrary files
* Configure through a JSON file
## How I use it
Some configuration I have as of March 7, 2024 is:
* Ability to query/get status of arbitrary services
* Look at disk usage
* Show the uptime and various backup ages
* Quip of the latest APC UPS events (ability to view full log)
* `debsecan` report, with CVEs found count displayed on dashboard
* `chrootkit` log
* `restic` backup information (for server)
## Footnotes
[1]: gopherdashboard:
https://github.com/someodd/gopherdashboard
[2]: my article on using the Gopher Protocol: /notes/gopher