« 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>. | |||