plinth
1
FreedomBox

# plinth

a web front end for administering FreedomBox

          plinth
          -h, --help
          --server_dirSERVER_DIR
          --pidfilePIDFILE
          --debug
          --no-daemon
          --diagnose

## Description

FreedomBox is a community project to develop, design and promote personal servers running free software for private, personal communications. It is a networking appliance designed to allow interfacing with the rest of the Internet under conditions of protected privacy and data security. It hosts applications such as blog, wiki, website, social network, email, web proxy and a Tor relay on a device that can replace a wireless router so that data stays with the users.

Plinth is a web interface to administer the functions of the FreedomBox. It is extensible and is made of modules. Each module provides a simplified user interface to control the underlying functionality of a specific application of FreedomBox. As FreedomBox can act as a wireless router, it is possible to configure networking from Plinth. Plinth allows configuration of basic system parameters such as time zone, hostname and automatic upgrade settings.

## Options

`--pidfile PIDFILE`

  Write the process ID of the daemon into the provided PIDFILE. By default the value from `plinth.config` is used. Plinth is shipped with a value of `/var/run/plinth.pid` in `/etc/plinth/plinth.config`. When `/etc/plinth/plinth.config` is not available, `plinth.config` from current directory is used. In source directory, this has the default value of `./data/var/run/plinth.pid`.

`--server_dir SERVER_DIR`

  This the URL fragment under which Plinth will provide its services. By default the value from `plinth.config` is used. Plinth is shipped with a value of `/plinth` in `/etc/plinth/plinth.config`. This means that Plinth will be available as http://localhost:8000/plinth by default. When `/etc/plinth/plinth.config` is not available, `plinth.config` from current directory is used. In source directory, this has the default value of `/`.

`--debug`

  Enable debug mode. Turn off Django security features. Print extra debug messages. Monitor source files for changes and restart Plinth on modifications. Turn on Django debug mode to show details on error pages. Die if there is an error during module initialization.

`--no-daemon`

  Normally Plinth goes into daemon mode as soon as it finishes initialization. This is useful when performing development and debugging on the command line. Further, this is useful when running as systemd service as systemd takes care of sending the process into background.

`--diagnose`

  If provided, Plinth loads modules, performs initialization but does start the web server. Instead it runs diagnostic tests on each module and exits.

## Configuration

Plinth reads various configuraiton options from the file `/etc/plinth/plinth.config`. If this file is not present, then it reads configuration file `./plinth.config` from the current directory. This is mainly meant to make Plinth work with configuration from source code directory for debugging purposes.

## Examples

### Start Plinth as daemon with default options

    $ plinth

Become a daemon after initialization and write a PIDFILE as specified in the configuration.

### Run Plinth for debugging

    $ plinth --server_dir=/plinth --debug --no-daemon

Enable debug mode and don't become a daemon. Also override the configuration file value for the URL fragment to start Plinth under and set it to /plinth.

## Bugs

See Plinth issue tracker for a full list of known issues and TODO items.

## Author

Plinth Developers Original author