Aller au contenu

Bonfire

De wikarphy
Version datée du 19 janvier 2026 à 02:53 par Linarphy (discussion | contributions) (Création de la page Bonfire)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
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


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

Configuration actuelle

[modifier | modifier le wikicode]

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.

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

[modifier | modifier le wikicode]

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.