« Bonfire » : différence entre les versions

Création de la page Bonfire
 
Ajout de la configuration
 
Ligne 53 : Ligne 53 :
</syntaxhighlight>Ajouter aussi  ce script à la fin du fichier <code>/etc/bash.bashrc</code>.
</syntaxhighlight>Ajouter aussi  ce script à la fin du fichier <code>/etc/bash.bashrc</code>.


Cela ne devrait pas être nécessaire, mais il peut être bon d’ajouter aussi ces lignes dans le fichier <code>/etc/security/pam_env.conf</code>.<syntaxhighlight line="1">
Cela ne devrait pas être nécessaire, mais il peut être bon d’ajouter aussi ces lignes dans le fichier <code>/etc/security/pam_env.conf</code>.<syntaxhighlight line="1" lang="bash">
XDG_HOME_DIRECTORY DEFAULT=@{HOME}
XDG_HOME_DIRECTORY DEFAULT=@{HOME}
XDG_CONFIG_HOME DEFAULT=@{HOME}/.config
XDG_CONFIG_HOME DEFAULT=@{HOME}/.config
Ligne 76 : Ligne 76 :


eval "$(/usr/share/bonfire/.local/bin/mise activate bash)"
eval "$(/usr/share/bonfire/.local/bin/mise activate bash)"
</syntaxhighlight>Enfin, créer le fichier <code>app.conf</code> avec le contenu suivant<syntaxhighlight lang="bash" line="1">
FLAVOUR=social
MIX_ENV=prod
WITH_DOCKER=no
</syntaxhighlight>Puis télécharger Bonfire avec la commande <code>git clone --depth 1 https://github.com/bonfire-networks/bonfire-app.git bonfine_app && cd bonfire_app</code>. Finalement, lancer <code>mise install</code> pour télécharger les bonnes version de chaque logiciel.
</syntaxhighlight>Puis télécharger Bonfire avec la commande <code>git clone --depth 1 https://github.com/bonfire-networks/bonfire-app.git bonfine_app && cd bonfire_app</code>. Finalement, lancer <code>mise install</code> pour télécharger les bonnes version de chaque logiciel.


=== Configuration ===
=== Configuration ===
La configuration de Bonfire doit d’abord être généré avec la commande <code>just config</code>, ce qui créera un fichier <code>.env</code> qui doit ensuite être modifié. Pour les secrets (<code>SECRET_KEY_BASE</code>, <code>SIGNING_SALT</code>, <code>ENCRYPTION_SALT</code>, <code>POSTGRESS_PASSWORD</code> and <code>MEILI_MASTER_KEY</code>), il est possible de les générer avec la commande <code>just secrets</code>. Créer ensuite la base de donnée [[Postgresql]] (avec le mot de passe généré). Si elle n’est pas déjà installé, installer l’extension <code>Postgis</code>.
Ajouter un ''client'' sur [[Keycloak]] et insérer les lignes suivantes dans le fichier <code>.env</code><syntaxhighlight lang="bash" line="1">
# OpenID
OPENID_1_DISCOVERY=https://{keycloak url}/realms/{realm name}/.well-known/openid-configuration
OPENID_1_DISPLAY_NAME={name to display}
OPENID_1_CLIENT_ID={client id}
OPENID_1_CLIENT_SECRET={client secret}
OPENID_1_SCOPE="openid profile email"
OPENID_1_RESPONSE_TYPE=code
OPENID_1_ENABLE_SIGNUP=true
</syntaxhighlight>Créer un sous-domaine avec [[Nginx]], avec le nom de domaine rentré dans le fichier <code>.env</code><syntaxhighlight lang="nginx" line="1">
server {
        server_name {sever url};
        listen [::]:443 ssl; # managed by Certbot
        listen 443 ssl; # managed by Certbot
        location / {
                proxy_pass http://127.0.0.1:{sever port};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_read_timeout 60000s;
        }
        ssl_certificate /etc/letsencrypt/live/{server url}/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/{server url}/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
        server_name {server url};
        listen [::]:80;
        listen 80;
}
</syntaxhighlight>
=== Compilation ===
Lancer <code>just setup-prod</code> et valider chaque changement de fichier. Puis exécuter <code>just rel-build</code>.