Fab-Manager
Contexte
Fab-Manager est un outil libre permettant la gestion d'un fablab.Installation
La documentation ici présente reprends les informations de la documentation de Fab-Manager présente ici et surtout la doc de production présente ici.Préparation du serveur
Les devs ont prévu un script de préparation du système qui permet de mettre à jour le système, gérer les timezones, gérer le swap et gérer la protection ssh.\curl -sSL prepare-vps.sleede.com | bash
Installation de Fab-Manager
Les devs ont prévu un script d'installation, qui fonctionne ... quand il fonctionne ...\curl -sSL setup.fab.mn | bash
Paramètres d'installation :
- Nom de domaine et email du sysadmin en fonction du serveur (pour le moment vps-bd13dfa5.vps.ovh.net et maxime@zoomacom.org)
- Paramètres SMTP
- Serveur : mail.gandi.net
- Port : 465
- Username : Pour le moment maxime@zoomacom.org
- Password : Bah le mot de passe de ma boite mail
- Authentification : plain
- Starttls auto : true
- Openssl verify mode : (laisser par défaut)
- TLS : true
- Tout le reste est par défaut
Les paramètres sont ensuite stockéss dans /apps/fabmanager/config/env
Config pour http
Dans le fichier config/env il faut modifier :- DEFAULT_PROTOCOL=http (dans le début)
- ALLOW_INSECURE_HTTP=true (vers la fin du fichier)
et modifier le fichier /apps/fabmanager/config/nginx/fabmanager.conf pour être sur le port 80 et désactiver la redirection 80 -> 443 (si le serveur a été installé en mode https)
Problème de compilation de yarn à l'installation
C'est un manque de ram, après avoir configurer les paramètres et avant de lancer la construction de la base de données il faut ajouter la ligneNODE_OPTIONS="--max-old-space-size=6144"
Mise à jour
Point délicat du système, les mises a jour demandes des executions de commandes manuelles.Il faut se placer dans le dossier /apps/fabmanager et le script de mise a jour ici en combinant tout les arguments nécessaires aux différentes nouvelles versions comme expliqué ici.
Exemple :
Mise à jour de la 1.2.3 à la 1.2.6 :
## 1.2.4 \curl -sSL upgrade.fab.mn | bash -s -- -e "VAR=value" ## 1.2.5 \curl -sSL upgrade.fab.mn | bash -s -- -c "rails fablab:setup:command" ## 1.2.6 \curl -sSL upgrade.fab.mn | bash -s -- -p "rails fablab:do:things"
La commande de mise a jour est la suivante :
\curl -sSL upgrade.fab.mn | bash -s -- -e "VAR=value" -p "rails fablab:do:things" -c "rails fablab:setup:command"
Afin de garder une trace de la version actuelle (parce que visiblement y a pas de moyen de le savoir), j'ai créé un fichier ~/versionCouranteFabManager afin de savoir où on en est, merci de le mettre à jour.
Commandes utiles
Se placer dans le dossier /apps/fabmanager pour les executerArrêt du serveur :
docker-compose down
Démarrage du serveur :
docker-compose up -d
Nettoyage d'une installation foireuse
Nettoyage de docker
Arrêt des containers :docker stop $(docker container ls -q)
Nettoyage du système docker :
docker system prune
Nettoyage des images docker :
docker image prune
Suppression des images docker :
docker rmi $(docker image ls -q)
Nettoyage de fab-manager (Optionnel)
Supprimer le dossier /apps/fabmanager :sudo rm -rfv /apps/fabmanager