PLINTH(1)

✨ PLINTH(1) β€” the FreedomBox web front end, bestie edition ✨

okay so like. buckle up. this is the manual page for plinth, which is the whole web front end that lets you run an actual FreedomBox. yes, a real one. a tiny personal server that lives in your house. it's giving main character energy for your router. let's get into it πŸ’–


πŸ’… NAME πŸ’…

plinth β€” a web front end for administering FreedomBox. that's it. that's the whole vibe. a pretty face for your server's inner workings πŸŽ€


🌸 SYNOPSIS 🌸

plinth [-h, --help] [--server_dir {SERVER_DIR}] [--develop] [--diagnose]
       [--setup [application...]] [--setup-no-install [application...]]
       [--list-dependencies [application...]]

so basically you call plinth and then sprinkle flags on top like glitter ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so FreedomBox is this community project that develops, designs and promotes personal servers running free software β€” for private, personal communications. fr fr. it's a networking appliance built so you can interface with the rest of the Internet under conditions of protected privacy and data security. no cap, that's the whole point.

it hosts applications like blog, wiki, website, social network, email, web proxy and a Tor relay β€” all on a device that can literally replace your wireless router, so that the data stays with the users. iconic behavior honestly πŸ‘‘

and Plinth? Plinth is the web interface that administers all of the FreedomBox's functions 🫢 it's extensible and made of modules. each module gives you a simplified user interface to control the underlying functionality of one specific FreedomBox application. and because FreedomBox can act as a wireless router, you can configure networking straight from Plinth too. Plinth also lets you configure basic system parameters like time zone, hostname and automatic upgrade settings. so basically everything important. slay.


πŸ”₯ OPTIONS πŸ”₯

  • --server_dir SERVER_DIR β€” this is the URL fragment under which Plinth will provide its services. Plinth ships with a default value of /freedombox, which means by default Plinth is available at http://localhost:8000/freedombox. cute, right?
  • --develop β€” enables development mode, bestie. it uses develop.config and action scripts from the current working directory. it also enables extra debug messages, turns on Django debug mode so you get detailed error pages, and turns OFF Django security features. it monitors source files for changes and restarts Plinth on modifications, and it will die if there's an error during module initialization. dramatic but fair πŸ’€
  • --diagnose β€” if you pass this, Plinth loads its modules and performs initialization but does start the web server. instead it runs diagnostic tests on each module and exits.
  • --setup β€” perform application setup operations and exit. setting up an application means installing the packages required for that application and doing the pre and post install configuration setups. if you don't provide any application, it sets up all applications which describe themselves as essential. if you do provide a list of applications, it sets up only those applications.
  • --setup-no-install β€” same as --setup but literally no new Debian packages get installed during setup. when a package needs to be installed, a check runs to make sure the package is already installed. if it is already installed, no upgrade is performed β€” setup skips this step and proceeds to the next operation. if the package is not installed, an error is raised and the setup process halts. this option is useful for running setup during the post installation script of a Debian package. essential packages are added as dependencies for the Debian package and then the setup process is executed from the post install script of the Debian package.
  • --list-dependencies β€” for the list of provided applications, print the list of packages needed by those applications. if no application is provided as an additional argument, then it prints the list of packages needed by all essential applications. if '*' is provided in the list of applications, then the list of packages needed by all applications gets printed. and yeah β€” even though packages are installed when the application is first accessed, this list is useful for adding a list of dependencies to a Debian package, and for getting a list of all the interesting packages. other output may be printed on stderr and should be ignored. πŸ™ˆ
  • --version β€” show the version of FreedomBox and exit. boom. done. πŸ’…

🧚 CONFIGURATION 🧚

Plinth reads various configuration options from these files, in this exact order:

  • /usr/share/freedombox/freedombox.config
  • /usr/share/freedombox/freedombox.config.d/*.config
  • /etc/plinth/plinth.config
  • /etc/plinth/plinth.config.d/*.config
  • /etc/freedombox/freedombox.config
  • /etc/freedombox/freedombox.config.d/*.config

options in a file read later override options specified earlier. and heads up β€” the /etc/plinth/ locations are deprecated. ⚠️


🌈 EXAMPLES 🌈

Example 1. Start Plinth with default options

$ plinth

run Plinth as guided by the configuration file. the classic. the original flavor πŸ“

Example 2. Run Plinth with different URL prefix

$ plinth --server_dir='/myurl'

run Plinth with the '/myurl' prefix. but note: Apache forwards requests to '/freedombox' by default, so /myurl is not accessible outside of your FreedomBox without adapting the apache configuration. iykyk 😭

Example 3. Run Plinth in development mode

$ plinth --develop

run in development mode on the terminal. enables auto-reloading and more extensive debugging. dev girlies rise 🧚


πŸ’€ BUGS πŸ’€

see the Plinth issue tracker[1] for a full list of known issues and TODO items. yes it's a link. yes it's in the NOTES. go look πŸ‘€


πŸ‘‘ AUTHOR πŸ‘‘

Plinth Developers


πŸŽ€ NOTES πŸŽ€

  1. Plinth issue tracker β€” https://salsa.debian.org/freedombox-team/freedombox/issues

and that's the whole page, bestie!! this was PLINTH(1) from the FreedomBox manual, dated 08/22/2026 β€” thanks for reading my little manual rant, you're literally the best πŸ«ΆπŸ’–βœ¨ stay slaying, go set up an essential app, and remember: the data stays with the users πŸ’…πŸŒΈ

πŸ“¦ where this page comes from