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 959f18a69d Update zola in roles 2 weeks ago
roles@b05f13599f Update zola in roles 2 weeks ago
.gitignore Start joinjabber infrastructure 10 months ago
.gitmodules Separate roles folder into dedicated submodule 6 months ago
LICENCE Better README and AGPLv3 license 6 months ago
README.md Separate roles folder into dedicated submodule 6 months ago
config.yml Shorthand profiles for chatbridge config 2 months ago
deploy.sh More debugging and update roles 2 months ago

README.md

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 deploy.sh 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 https://codeberg.org/joinjabber/infra. The documentation can be found in roles/README.md, 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.

Deploying

A deploy.sh 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
# ./deploy.sh
# # Only reconfigure webserver
# ./deploy.sh 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