Bonfire est un service permettant d’intéragir avec d’autres services participants au Fediverse.

Bonfire
Communiquer avec le Fediverse
Général
Site officiel
Documentation
Localisation
Outils
Utilise
Information technique
Configuration
/usr/share/bonfire/bonfire_app/.env
Accès
Service

Configuration actuelle

modifier

Actuellement, Bonfire tourne sur le serveur computing et est disponible ici. Bonfire est executé par l’utilisateur bonfire via le service présent sur son propre profil de Systemd. L’authentification s’effectue à travers Keycloak, le serveur web est proxy via Nginx et la base de donnée est stockée sur Postgresql.

Installation

modifier

Prérequis

modifier

Création de l’utilisateur et du répertoire

modifier

Créer le dossier /usr/share/bonfire qui contiendra tout les fichiers du futur utilisateur bonfire.

Créer l’utilisateur bonfire avec la commande adduser --system --group bonfire, puis changer son home avec la commande usermod -d /usr/share/bonfire(ou même préciser son home dès la création de l’utilisateur) et changer son login par le shell (et non pas /usr/sbin/nologin) (pareil qu’avant, voir comment préciser le login avec la commande adduser pour aller plus vite). Puis chown bonfire:bonfire -R /usr/share/bonfire, pour être sur que l’utilisateur bonfire soit propriétaire de sa maison.

En tant qu’utilisateur bonfire, créer les dossiers /usr/share/bonfire/.local, /usr/share/bonfire/.local/share, /usr/share/bonfire/.local/state, /usr/share/bonfire/.cache, et /usr/share/bonfire/.config .

Si bash ne respecte pas encore les variables XDG, créer le fichier /etc/profile.d/bash_xdg.sh en tant que root contenant le script suivant.

# Make bash follow the XDG_CONFIG_HOME specification
_confdir=${XDG_CONFIG_HOME:-$HOME/.config}/bash
_datadir=${XDG_DATA_HOME:-$HOME/.local/share}/bash

# Source settings file
if [ -d "${_confdir}" ]; then
    for f in bash_profile bashrc; do
        [ -f "${_confdir}/${f}" ] && . "${_confdir}/${f}"
    done
fi

# Change the location of the history file by setting the environment variable
[ ! -d "${_datadir}" ] && mkdir -p "${_datadir}"
HISTFILE="${_datadir}/history"

unset _confdir
unset _datadir

Ajouter aussi ce script à la fin du fichier /etc/bash.bashrc. Cela ne devrait pas être nécessaire, mais il peut être bon d’ajouter aussi ces lignes dans le fichier /etc/security/pam_env.conf.

XDG_HOME_DIRECTORY DEFAULT=@{HOME}
XDG_CONFIG_HOME DEFAULT=@{HOME}/.config
XDG_DATA_HOME DEFAULT=@{HOME}/.local/share
XDG_STATE_HOME DEFAULT=@{HOME}/.local/state
XDG_CACHE_HOME DEFAULT=@{HOME}/.cache

Installer miseen tant qu’utilisateur bonfire avec la commande curl https://mise.run | sh. Toujours en tant qu’utilisateur bonfire, créer le fichier /usr/share/bonfire/.config/bash/bashrc avec le contenu suivant

# Load env var from .config/environment.d

for file in ~/.config/environment.d/*;
do
    if [ -f "${file}" ] && [ -r "${file}" ];
    then
        while IFS= read -r line;
        do
            source <(echo "${line}")
        done < <(grep '^[A-Z_]\+=[^#]\+.*' "${file}" | sed -E 's/(^[A-Z_]+)=([^#]+)/export \1=\2/')
    fi
done

eval "$(/usr/share/bonfire/.local/bin/mise activate bash)"

Puis télécharger Bonfire avec la commande git clone --depth 1 https://github.com/bonfire-networks/bonfire-app.git bonfine_app && cd bonfire_app. Finalement, lancer mise install pour télécharger les bonnes version de chaque logiciel.

Configuration

modifier