Installation

This are the instructions to install Libervia Web using Python. Note that if you are using GNU/Linux, Libervia Web may already be present on your distribution.

This is the web frontend of Libervia, the Libervia backend must be installed first (if you haven’t installed it yet, it will be downloaded automatically as it is a dependency of Libervia Web). Libervia Web and Libervia Backend must always have the same version (Libervia Web won’t start if the version backend differs).

We recommend to use development version for now, until the release of 0.8 version.

Requirements

  • Python 3.7+

  • Python 3 “venv”, which may be installed with Python 3

  • Mercurial

To install them on a Debian distribution or derivative, you can enter:

sudo apt-get install python3-dev python3-venv python3-wheel mercurial

Development Version

Note for Arch users: a pkgbuild is available for your distribution on AUR, check sat-libervia-hg (as well as other sat-* packages).

Installation With pipx

If you have `pipx`_ installed, you can install the development version of the web frontend by utilizing the same environment as the backend. First, install the backend as detailed in the backend installation instructions. After that, install the web frontend with the following command:

$ pipx inject libervia-backend hg+https://repos.goffi.org/libervia-web

Installation With Virtual Environment And pip

You can install the latest development version using Mercurial and pip.

Select the location where you want to install libervia and virtual environment, for instance your $HOME directory:

$ cd

You can use the same virtual environment as the one used for installing the backend. Otherwise, create a new one (backend will be installed automatically if it’s not already there):

$ python3 -m venv libervia_venv
$ source libervia_venv/bin/activate
$ pip install -U pip wheel

Then you need to clone the repository:

$ hg clone https://repos.goffi.org/libervia libervia-web && cd libervia-web

Now you can install the frontend and its requirements:

$ pip install .

If you haven’t done it for the backend, you need to install the media:

$ cd
$ hg clone https://repos.goffi.org/libervia-media

then, create the directory ~/.config/libervia:

$ mkdir -p ~/.config/libervia

and the file ~/.config/libervia/libervia.conf containing:

[DEFAULT]
media_dir = ~/libervia-media

Of course, replace ~/libervia-media with the actual path you have used.

Please check backend documentation for more details on the settings.

You’ll also need the yarn packager, please check your distribution documentation for instructions to install it.

Note

On Debian and derivatives, the yarn packager is installed with the yarnpkg package (and not yarn only), you can install it with apt install yarnpkg as root (or with sudo).

Post Installation

Libervia uses its own XMPP account to fetch public data. You need to create a profile named libervia linked to this account to launch Libervia. First create an account dedicated to this on your XMPP server. For instance with Prosody you would enter something like:

$ prosodyctl adduser libervia@example.net

Where you’ll obviously change libervia@example.net for the JID you want to use, with your domain name. You’ll then be prompted for a password. You can now create the associated Libervia profile:

$ li profile create libervia -j libervia@example.net -p <libervia_password>

Note

Libervia CLI doesn’t prompt for password yet, this means that the password is visible to anybody looking at your screen and will stay in your shell history, and the password will be visible for a few seconds in process list. If this is a concern for you (e.g. you use a shared machine), use an other frontend to create the profile, or do the necessary to remove the password from history. In most shells, you can add a space in front of the command so that it doesn’t appear in the history.

Finally, you need to specify to specify the password of this libervia profile in your configuration. To do so, edit your libervia.conf and edit [libervia] and set the passphrase option to the profile password you have used in the command above:

[web]
passphrase = <libervia_password>

You should now be good to run the Libervia Web server.

To launch the Libervia Web server, enter:

$ libervia-web

…or, if you want to launch it in foreground:

$ libervia-web fg

You can stop it with:

$ libervia-web stop

To know if backend is launched or not:

$ libervia-web status

Some functionalities use advanced or experimental features of XMPP PubSub. We recommend to use the Libervia PubSub service that is a side project developed for the needs of Libervia, and consequently implements everything needed. Please refer to Libervia PubSub documentation to know how to install and use it.