No description
  • Python 99.8%
  • Dockerfile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Goffi f7a42771e8 core: implement isolation mode:
Normally the backend is made to have a singleton instance, and handle all profiles.
However, it may be useful to run instances independently (e.g., for development, to run
components in independent processes, for testing, etc).

This was previously possible by using a specific configuration files at backend's root.
This patch introduce a cleaner way by using an isolation mode.

Isolation mode is activated by settings the `LIBERVIA_ISOLATION` environment variable to
the name of the isolated instance. `LIBERVIA_ISOLATION_MODE` can be used to specify one of
the following mode:
- normal (default): config and shared files are in XDG in a `isolated/<name>` subdirectory
  (usually `~/.local/share/libervia/isolated/<name>` and
  `~/.config/libervia/isolated/<name>`). Runtime files and other instance specific data
  (such as D-Bus name) are also isolated. Config uses cascade as usual.
- full: same as above, but config isn't cascading, it's using only its own isolated config
  file.
- tmp: same as normal but the local directory is put in a temporary directory, and deleted
  on backend startup. It stays on termination, so data can be checked if necessary (this mode is
  usually used for development).

This feature will notably be useful to test severless mode on a single machine.

rel 479
2026-07-17 16:45:29 +02:00
doc doc (component): the section use a . now 2026-06-19 12:14:54 +02:00
docker docker (backend): set +use_local_shared_tmp in conf. 2024-06-13 13:22:41 +02:00
i18n refactoring: renamed sat package to libervia.backend 2023-06-02 11:49:51 +02:00
libervia core: implement isolation mode: 2026-07-17 16:45:29 +02:00
misc Dates update. 2026-03-31 12:57:17 +02:00
stubs/twisted Global reformatting with black. 2025-09-13 10:46:10 +02:00
tests test: minor formatting 2026-07-17 16:45:29 +02:00
twisted/plugins Dates update. 2026-03-31 12:57:17 +02:00
.gitignore Transition from Mercurial to Git: 2026-03-09 10:07:15 +01:00
ACKNOWLEDGMENTS.md doc: README rewrite: 2023-06-06 13:42:00 +02:00
CHANGELOG CHANGELOG update 2026-03-09 09:22:02 +01:00
CONTRAT_SOCIAL Renamed the project from "Salut à Toi" to "Libervia": 2021-03-20 20:42:04 +01:00
CONTRAT_SOCIAL_en Renamed the project from "Salut à Toi" to "Libervia": 2021-03-20 20:42:04 +01:00
COPYING Licence modification: the full project is now under AGPL v3+ instead of GPL v3+ 2012-08-01 22:53:02 +02:00
INSTALL installation: moved from setup.py to pyproject.toml: 2023-06-06 16:45:16 +02:00
pyproject.toml install: tx-xmpp dependency update: 2026-06-08 10:44:53 +02:00
README.md Dates update. 2026-03-31 12:57:17 +02:00
README4TRANSLATORS doc: minor fixes + use ".pot" extension instead of ".po" for template in README4TRANSLATORS 2019-05-26 22:21:56 +02:00
uv.lock install: lock file update. 2026-06-08 10:44:53 +02:00

Libervia

Copyrights

  • Jérôme Poisson aka Goffi 2008-2026
  • Adrien Cossa aka Souliane 2013-2016
  • Additional contributions by community members

Libervia stands out as a one-of-a-kind XMPP (Jabber) client that brings you a comprehensive, multi-purpose, and multi-platform solution. It doesn't just focus on instant messaging but offers an array of tools and features all in one place.

License

Libervia is a Libre software (Free as in "Freedom"), distributed under the AGPL v3+ license. For the full license, please refer to the COPYING file.

Relevant URLs

Here are some useful URLs, all of which (except for the source code repository) are powered by Libervia itself, showcasing the flexibility and versatility of the tool:

Additionally, our blogs are accessible via ActivityPub thanks to the Libervia XMPP <=> ActivityPub gateway.

About

Libervia is a unique XMPP client based on a daemon/frontends architecture. It supports multi-frontends (desktop, web, console interface, CLI, etc.) and provides a plethora of multi-purpose tools such as instant messaging, microblogging, photo albums, calendar events, file sharing, A/V calls, and state-of-the-art end-to-end encryption.

Embedded within our DNA is a strong commitment to ethics. Our social contract provides insight into these principles - refer to CONTRAT_SOCIAL or CONTRAT_SOCIAL_en.

This repository contains the "backend" of Libervia—the heart of the software. To use it, you will need to install one or more frontends:

  • Libervia Web: Our flagship frontend, offering a potent, customizable social network for a broad spectrum of users—families, friends, groups, associations, public services, companies, and more.
  • Libervia Desktop: Integrated with your desktop, this frontend is under continual development. The existing Kivy-based version includes a prototype Android version, with an upcoming iteration to be based on Qt.
  • Libervia CLI: Bundled with Libervia Backend, our CLI is a true standout—one of the most powerful XMPP CLIs out there. It's the go-to tool for quick tasks or crafting automation scripts.
  • Libervia TUI: Perfect for terminal enthusiasts or headless server operations, our TUI is included with Libervia Backend.

Libervia can also function as an XMPP server component or a "generic" plugin. Currently, we offer two components:

  • An advanced file sharing component supporting HTTP File Upload, Jingle File Transfer, file deletion, public link, access permission, quotas, etc.
  • An XMPP <=> ActivityPub Gateway, enabling users to interact with ActivityPub content (from platforms like Mastodon, Pleroma, PeerTube, Mobilizon, etc.) as if they were XMPP blogs or private messages, and vice versa.

How To Use It?

For installation instructions and general documentation, please refer to the doc directory or visit https://libervia.org/documentation/

Contributions

Here are the URIs you can use to publish/retrieve tickets or merge requests:

  • Tickets: xmpp:pubsub.goffi.org?;node=org.salut-a-toi.tickets%3A0 (please use "core" label)
  • Merge requests: xmpp:pubsub.goffi.org?;node=org.salut-a-toi.merge_requests%3A0 (please use "core" label)

Tickets and merge requests are managed by Libervia itself using XMPP. For more information, visit https://libervia.org/tickets

Contact

Join us on the XMPP MUC room libervia@chat.jabberfr.org (web link), or contact us directly:

This software is dedicated to Roger Poisson.