NLnet proposal, by Dustin Harriman
Thematic call: NGI Zero Commons Fund
Last updated: Jan 30, 2026
Project Description
- Name: Mastodon Manager TUI (python package/executable name mastomgr-tui). Not to be confused with "mastui", which is a Mastodon Client for the Command Line Interface (CLI).
- Expected outcome: The Mastodon server is a great Open Source federated microblogging platform, but lacks some of the visually convenient, lower-level administrative features which non-SysAdmin/non-DevOps "Power users" might expect. Lacking these, they might give up on an ambition to run a Mastodon instance. The Digital Commons that nlnet espouses needs to reach out to the "Power Users" of the world, who aren't professional Sysadmins/Dev Ops specialists (the type paid to learn and use orchestration tools like Ansible), and welcome them into the federation in leadership roles as the sovereign captains of their Mastodon Instances. Not everyone has the expertise or hardware to run Docker, and some battle-hardened security experts don't fully trust the dubious "sandboxing" security model of Docker. Installing from source - not Docker - needs to be streamlined/simplified for Power Users. Plus, a durable TUI (Text User Interface) management tool, is needed: assisting and automating common tasks like service monitoring, backups/restores, and upgrades. A colorized TUI (written using Python "Textualize") will make it easy to use arrow keys, mouse clicks, tabbing, etc. to simplify the common lower-level command-line tasks, looking great over remote SSH connection.
- Git repo: https://codeberg.org/Esbeeb/mastomgr-tui
- PyPI repo: TBA
Technology Stack
- The end user uses python's uv package manager to download mastomgr-tui (pulled from PyPI. Note: the code will also be publically git-hosted at Codeberg.
- Linux (opinionated to Debian, or at least Linux distros with SystemD). This will the base OS for the Mastodon install
- all dependencies required by Mastodon, as specified upstream
- Python's "Textualize" library - uv will install it
-
Other Python packages pulled in by uv (these are "stretch goals", to integrate with these tools):
- magic-wormhole (for sending backups offsite)
- defederate
-
Another stretch goal: to integrate with Mastodon's CLI tool, tootctl
Licensing
GNU General Public License, Version 3, 29 June 2007