admin:services:mobilizon.chapril.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
admin:services:mobilizon.chapril.org [2021/08/19 13:45] – retapage de plein de choses tykayn | admin:services:mobilizon.chapril.org [2023/01/07 17:54] (Version actuelle) – Lancement local du serveur sagotgej | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Mobilizon Chapril ====== Un logiciel fédéré pour organiser des évènements. | + | ====== Mobilizon Chapril ====== |
- | [[https:// | + | Un logiciel fédéré pour organiser des évènements. |
+ | [[https:// | ||
- | Anim' | + | {{https://www.chapril.org/ |
- | Philippe et Tykayn. | + | |
- | {{https://www.Chapril.org/ | + | <nspages .:mobilizon.chapril.org: -simpleList -h1> |
====== Ressources ====== | ====== Ressources ====== | ||
Ligne 11: | Ligne 11: | ||
Outils du Chapril : | Outils du Chapril : | ||
- | * [[https:// | + | |
- | * [[https:// | + | * [[https:// |
__Dépots sources utilisés :__ | __Dépots sources utilisés :__ | ||
- | * Outils https:// | + | |
- | * Source de l' | + | * Source de l' |
- | * Dépot upstream: https:// | + | * Dépot upstream: https:// |
- | ====== Documentation d' | + | ====== Installation ====== |
- | concerne : | + | |
- | copiée depuis | + | <note warning> |
+ | **En travaux** La documentation de l' | ||
+ | [[admin:services: | ||
+ | </ | ||
- | Mobilizon | + | L' |
- | == Pré-requis == | + | ===== Pré-requis |
- | - Une machine Linux avec accès root | + | - Mobilizon doit être installé sur la VM Debian nommée **biliz.cluster.chapril.org** sur laquelle on dispose de l'accès root |
- | - Un nom de domaine | + | - Le domaine |
- | - Un serveur SMTP pour l'envoi de courriers électroniques | + | - L'envoi de mails depuis la VM est [[https:// |
- | == Dépendances | + | ===== Installation locale des dépendances ===== |
+ | |||
+ | L' | ||
+ | |||
+ | Il a été décidé de **compiler le projet en local** (sur votre machine) avant de publier les binaires en production. | ||
+ | |||
+ | ==== Elixir ==== | ||
+ | |||
+ | Mobilizon utilise le [[https:// | ||
+ | |||
+ | Installons la dernière version de Elixir (1.14.1) depuis la source sur notre machine locale: | ||
+ | |||
+ | sudo apt install erlang build-essential curl unzip openssl git cmake file | ||
+ | wget https:// | ||
+ | tar zxf elixir-1.14.1.tar.gz | ||
+ | cd elixir-1.14.1 | ||
+ | make -j$(nproc --ignore=1) | ||
+ | sudo make install | ||
+ | |||
+ | <note tip> | ||
+ | Si wget n'est pas déjà installé sur votre machine: | ||
+ | |||
+ | sudo apt install wget | ||
+ | </ | ||
+ | |||
+ | ==== NodeJS ==== | ||
+ | |||
+ | La version 14 de NodeJS est requise. La version 12 est disponible dans Debian 11, c'est pourquoi nous allons installer la version LTS [[https:// | ||
+ | |||
+ | wget https:// | ||
+ | sudo tar --directory=/ | ||
+ | |||
+ | === Yarn === | ||
+ | Mobilizon utilise le gestionnaire de dépendances [[https:// | ||
+ | |||
+ | npm install -g yarn | ||
+ | |||
+ | ==== PostgreSQL ==== | ||
+ | |||
+ | PostgreSQL n'est pas requis pour la compilation de Mobilizon, mais avoir une base de données en local permet de tester l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | sudo apt install postgresql postgresql-contrib | ||
+ | sudo apt install --install-recommends postgis | ||
+ | sudo systemctl start postgresql | ||
+ | |||
+ | ===== Compilation locale de Mobilizon ===== | ||
+ | |||
+ | Maintenant que nous avons installé localement toutes les dépendances, | ||
+ | |||
+ | ==== Récupération du code source ==== | ||
+ | |||
+ | <note important> | ||
+ | </ | ||
+ | |||
+ | git clone https:// | ||
+ | cd mobilizon | ||
+ | git checkout 3.0.3 | ||
+ | |||
+ | |||
+ | ==== Compilation du serveur ==== | ||
+ | |||
+ | <note tip> | ||
+ | Lors du téléchargement des dépendances Elixir, mix va vous demander si vous souhaitez installer Hex et Rebar3. Répondez oui :-) | ||
+ | </ | ||
+ | |||
+ | # Téléchargement des dépendances Elixir du projet | ||
+ | mix deps.get | ||
+ | # Compilation du serveur Mobilizon | ||
+ | MIX_ENV=prod mix compile | ||
+ | |||
+ | ==== Compilation du client ==== | ||
+ | |||
+ | Nous allons nous rendre dans le répertoire js/ (situé dans le dossier du dépôt mobilizon clôné précédemment) pour installer les dépendances et compiler le client web | ||
+ | |||
+ | cd js | ||
+ | yarn install | ||
+ | yarn run build | ||
+ | cd .. | ||
+ | |||
+ | ==== Test local de l' | ||
+ | |||
+ | Pour tester l' | ||
+ | |||
+ | |||
+ | === Installation de PostgreSQL === | ||
+ | |||
+ | sudo apt install postgresql postgresql-contrib | ||
+ | sudo apt install --install-recommends postgis | ||
+ | sudo systemctl --now enable postgresql | ||
+ | |||
+ | === Génération de la configuration locale de Mobilizon === | ||
+ | |||
+ | Commençons par générer la configuration locale avec le CLI de Mobilizon: | ||
+ | |||
+ | MIX_ENV=prod mix mobilizon.instance gen | ||
+ | |||
+ | Indiquez '' | ||
+ | |||
+ | Cette commande a généré deux fichiers. Le premier, '' | ||
+ | |||
+ | Le second fichier, '' | ||
+ | |||
+ | === Création de l' | ||
+ | |||
+ | Lancer le script SQL généré lors de l' | ||
+ | |||
+ | sudo -u postgres psql -f setup_db.psql | ||
+ | |||
+ | === Initialisation de la base de données Mobilizion === | ||
+ | |||
+ | Il faut maintenant initialiser le schéma de la base de données avec la commande suivante: | ||
+ | |||
+ | MIX_ENV=prod mix ecto.migrate | ||
+ | |||
+ | === Lancement du serveur === | ||
+ | |||
+ | Tout est prêt pour pouvoir lancer localement le serveur localement: | ||
+ | |||
+ | MIX_ENV=prod mix phx.server | ||
+ | |||
+ | Voici ce que vous devriez obtenir en ouvrant le site web '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | On a maintenant vérifié localement que tout fonctionne. Il faut dorénavant pousser le logiciel compilé vers le serveur ainsi que ses dépendances. | ||
+ | |||
+ | <note warning> | ||
Mobilizon nécessite entre autres Elixir, NodeJS et PostgreSQL. Préférez installer Elixir et NodeJS à partir de leurs | Mobilizon nécessite entre autres Elixir, NodeJS et PostgreSQL. Préférez installer Elixir et NodeJS à partir de leurs | ||
Ligne 46: | Ligne 176: | ||
Pour installer une version correcte de node, référez vous à cette doc: | Pour installer une version correcte de node, référez vous à cette doc: | ||
https:// | https:// | ||
- | |||
- | <note important> | ||
- | |||
- | L' | ||
- | revenez à cette page lorsque vous aurez terminé.</ | ||
- | Configuration | ||
Nous allons utiliser un utilisateur de Mobilizon dédié avec / | Nous allons utiliser un utilisateur de Mobilizon dédié avec / | ||
- | sudo adduser --disabled-login | + | sudo adduser --disabled-login |
- | + | ||
- | Conseil | + | |
Alors connectons-nous en tant qu' | Alors connectons-nous en tant qu' | ||
- | sudo -i -u Mobilizon | + | sudo -i -u mobilizon |
Commençons par cloner le dépôt dans un répertoire nommé live : | Commençons par cloner le dépôt dans un répertoire nommé live : | ||
- | git clone https:// | + | git clone https:// |
== Installer des dépendances == | == Installer des dépendances == | ||
Ligne 73: | Ligne 195: | ||
mix deps.get | mix deps.get | ||
- | = Note = | + | <note tip> |
+ | Lorsqu' | ||
+ | </ | ||
- | Lorsqu' | ||
- | confirmer. | ||
Compiler ensuite ces dépendances et Mobilizon (cela peut prendre quelques minutes et peut produire toutes sortes | Compiler ensuite ces dépendances et Mobilizon (cela peut prendre quelques minutes et peut produire toutes sortes | ||
Ligne 124: | Ligne 246: | ||
Revenons à notre utilisateur de Mobilizon : | Revenons à notre utilisateur de Mobilizon : | ||
- | sudo -i -u Mobilizon | + | sudo -i -u mobilizon |
<note important> | <note important> | ||
Ligne 141: | Ligne 263: | ||
Vous devrez le refaire après la plupart des mises à jour. Voir la section dédiée aux mises à jour. | Vous devrez le refaire après la plupart des mises à jour. Voir la section dédiée aux mises à jour. | ||
- | |||
- | == Conseil == | ||
- | |||
Si certaines migrations échouent, cela signifie probablement que vous n' | Si certaines migrations échouent, cela signifie probablement que vous n' | ||
PostgreSQL, ou que vous n'avez pas installé les extensions requises. | PostgreSQL, ou que vous n'avez pas installé les extensions requises. | ||
Ligne 185: | Ligne 304: | ||
Connectez-vous à nouveau en tant qu' | Connectez-vous à nouveau en tant qu' | ||
- | sudo -i -u Mobilizon | + | sudo -i -u mobilizon |
Créer un nouvel utilisateur pour administrer votre instance Mobilizon : | Créer un nouvel utilisateur pour administrer votre instance Mobilizon : | ||
Ligne 200: | Ligne 319: | ||
mix Mobilizon.users.new --help | mix Mobilizon.users.new --help | ||
- | Vous pouvez maintenant vous connecter avec vos identifiants sur https:// | + | Vous pouvez maintenant vous connecter avec vos identifiants sur https:// |
et découvrir Mobilizon. N' | et découvrir Mobilizon. N' | ||
Ligne 226: | Ligne 345: | ||
====== Mise à jour de la version Chapril Mobilizon ====== | ====== Mise à jour de la version Chapril Mobilizon ====== | ||
+ | |||
+ | <note warning> | ||
+ | **TODO** Section à déplacer et fusionner dans la page | ||
+ | [[admin: | ||
+ | </ | ||
Pour fusionner les avancées de l' | Pour fusionner les avancées de l' | ||
Ligne 278: | Ligne 402: | ||
su Mobilizon | su Mobilizon | ||
- | cd / | + | cd / |
git checkout Chapril | git checkout Chapril | ||
git pull --tags origin && git pull origin chapril | git pull --tags origin && git pull origin chapril | ||
Ligne 299: | Ligne 423: | ||
- Remettre l' | - Remettre l' | ||
- | chown -R mobilizon: | + | chown -R mobilizon: |
Ligne 311: | Ligne 435: | ||
- si c'est bon, interrompre la lecture du journal d' | - si c'est bon, interrompre la lecture du journal d' | ||
- | - vérifier le frontend sur https:// | + | - vérifier le frontend sur https:// |
- Communiquer la fin de mise à jour sur les canaux qui vont bien. | - Communiquer la fin de mise à jour sur les canaux qui vont bien. | ||
====== Personnaliser Mobilizon ====== | ====== Personnaliser Mobilizon ====== | ||
+ | |||
+ | <note warning> | ||
+ | **TODO** Section à déplacer et fusionner dans la page [[admin: | ||
+ | </ | ||
===== Avancement ===== | ===== Avancement ===== | ||
==== Choses faites ==== | ==== Choses faites ==== | ||
Ligne 328: | Ligne 456: | ||
==== Prévues ==== | ==== Prévues ==== | ||
- | - rien de plus pour le moment que ce qui est en production sur https:// | + | - rien de plus pour le moment que ce qui est en production sur https:// |
===== Elements de personnalisation ===== | ===== Elements de personnalisation ===== | ||
Ligne 334: | Ligne 462: | ||
Changer le texte de présentation de l' | Changer le texte de présentation de l' | ||
- | https:// | + | https:// |
nom de l' | nom de l' | ||
- | https:// | + | https:// |
ne pas oublier d' | ne pas oublier d' | ||
Ligne 343: | Ligne 471: | ||
instances: https:// | instances: https:// | ||
- | ====== Comment personnaliser ====== ===== changer les images ===== Les images par défaut des évènements créé sans avoir | + | ====== Comment personnaliser ====== |
+ | ===== changer les images ===== | ||
+ | Les images par défaut des évènements créé sans avoir | ||
uploadé d' | uploadé d' | ||
de navigation. | de navigation. | ||
Ligne 376: | Ligne 506: | ||
des filewatcher inode. | des filewatcher inode. | ||
- | ===== Dépot de sources ===== On a une version personnalisée de Mobilizon, mise à disposition sur la forge | + | ===== Dépot de sources ===== |
- | https:// | + | On a une version personnalisée de Mobilizon, mise à disposition sur la forge |
+ | https:// | ||
Sa branche **master** est notre version personnalisée. Nous la rebasons quand nécessaire par dessus la branche master de | Sa branche **master** est notre version personnalisée. Nous la rebasons quand nécessaire par dessus la branche master de | ||
Ligne 394: | Ligne 525: | ||
=========== Présentation sur le site =========== | =========== Présentation sur le site =========== | ||
- | {{https:// | + | {{https:// |
- | < | ||
== Organisation d' | == Organisation d' | ||
- | + | [[https:// | |
- | + | ||
- | [[https:// | + | |
l' | l' | ||
anniversaire familial ou la sortie entre amis à la grande manifestation internationale, | anniversaire familial ou la sortie entre amis à la grande manifestation internationale, | ||
- | réaliser vos rassemblements comme vous le souhaitez tout en préservant la confidentialité des participant-e-s. | + | réaliser vos rassemblements comme vous le souhaitez tout en préservant la confidentialité des participants. |
- | Découvrir | + | Le code source du projet Mobilizon.chapril.org est disponible à l’adresse https:// |
- | Le code source du projet Mobilizon.Chapril.org est disponible à l’adresse https:// | ||
- | |||
- | </ | ||
----------------------- | ----------------------- | ||
Ligne 415: | Ligne 541: | ||
== suivi de bugs == | == suivi de bugs == | ||
- | bugs détectés sur Mobilizon.Chapril.org et ouvert sur la forge upstream | + | Bugs détectés sur Mobilizon.chapril.org et ouvert sur la forge upstream |
https:// | https:// |
admin/services/mobilizon.chapril.org.1629380709.txt.gz · Dernière modification : 2021/08/19 13:45 de tykayn