installing | ||
old_services | ||
provisioning | ||
services | ||
.gitignore | ||
readme.md |
Services Jean-Cloud
Dossier installing
Contient des scripts sh pour installer debian sur un disque dur. Qui ira ensuite se brancher dans un ordi :)
Dossier provisioning
Contient
- des rôles ansible pour configurer les serveurs
- un rôle ansible pour envoyer les services sur les serveurs (rsync bête)
- des scripts maisons à envoyer sur les serveurs
Dossier services
Les services à faire tourner.
Chaque service qui tourne sur jean-cloud est composé :
- Un uid et username pour des questions de droits
deploy.sh
d’un script d’installationdocker-compose.yaml
d’un fichier docker-composenginx_server.conf
d’un fichier de conf nginxdeploy_http.sh
d’un script de déploiement web (qui est exécuté avec l’utilisateur www-data et peut être exécuté par le serveur web lui-même)wg-*.sh
Script qui génère une config wireguard pour l’interface *
Chaque élément est facultatif.
Chaque élément est éxécuté, démarré ou installé dans l’ordre par deploy_service.sh
scripts
dans provisioning/roles/deploy_all/files/bin
-deployall.sh
va pour chaque service vérifier s’il doit tourner sur la machine actuelle et lance le deploy_service.sh
si c’est le cas.
letsencrypt.sh
va renouveler tous les certificats dont nginx a besoin (il va lire dans /etc/nginx/sites-enabled).git_update.sh
récupère une copie à jour d’un dépôt git (fait un clone ou pull en fonction des besoins) et s’assure de ne pas garder tout l’historique du dépôt.
Variables
Les scripts ont accès aux variables suivantes :
DATA_DIR
: là où sauvegarder des données.DOCKER_DIR
: dossier contenant les fichiers de déploiement du service.HTTP_DIR
: là où mettre les fichiers web si ils sont statiques. Ce dossier peut être détruit à tout moment, il n’est pas sauvegardé.JC_SERVICE
: le nom du dossier service. Correspond souvent à l’adresse du service. Ces variables sont ajoutées au ficher .env du service par le scriptgen_env.sh
.