Open infrastructure for our server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
southerntofu f2d5329cde Update submodule 3 months ago
roles@8d3b7e29a6 Update submodule 3 months ago
.gitignore Start joinjabber infrastructure 7 months ago
.gitmodules Separate roles folder into dedicated submodule 3 months ago
LICENCE Better README and AGPLv3 license 3 months ago Separate roles folder into dedicated submodule 3 months ago
config.yml #14: Support http2 3 months ago Don't ignore onion, and reduce verbosity slightly 4 months ago

JoinJabber infrastructure

In this repository, you will find everything we used to setup the JoinJabber infrastructure. This repository contains:

  • a central configuration file config.yml, where everything is configured
  • a script to apply these settings on a server (run as root)
  • a roles submodule containing Ansible recipes to implement the services

Setup and configuration

This repository should be cloned with submodules, for example git clone --recursive The documentation can be found in roles/, which will not exist if you forgot to clone submodules. In that case, you can run git submodule update --init --recursive to initialize and download the submodules.


A script is provided to make deploying easier. It's intended to be run as root from the server itself, and optionally accepts positional arguments representing a list of services to (re)configure, instead of following the services list defined in the configuration file:

# # Setup the server according to config.yml
# ./
# # Only reconfigure webserver
# ./ webserver

Copyleft (license)

This project is protected by AGPLv3 license. We believe the fruit of human labor should belong to humanity as a whole, and privatization of resources and knowledge is harmful. If you don't have time to read the full license, you may:

  • redistribute this project with or without further modification, under the same license
  • use this project to serve your personal needs, without restriction (if the user-facing services are used by anyone else but you, it is not considered personal usage and falls under the next category)
  • use this project to help/serve other persons, under the condition that you share every modification publicly under the same license