2023-05-23 10:26:03 +00:00
# Services Jean-Cloud
2024-01-02 16:50:14 +00:00
2023-05-23 10:26:03 +00:00
## 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
2023-09-07 17:50:05 +00:00
- un rôle ansible pour envoyer les services sur les serveurs (rsync bête)
2023-05-23 10:26:03 +00:00
- des scripts maisons à envoyer sur les serveurs
## Dossier services
Les services à faire tourner.
2023-09-07 17:50:05 +00:00
Chaque service qui tourne sur jean-cloud est composé :
2024-01-02 16:50:14 +00:00
- Un uid et username pour des questions de droits
2023-09-07 17:50:05 +00:00
- `deploy.sh` d’ un script d’ installation
- `docker-compose.yaml` d’ un fichier docker-compose
- `nginx_server.conf` d’ un fichier de conf nginx
- `deploy_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`
2023-05-23 10:26:03 +00:00
## scripts
2023-09-07 17:50:05 +00:00
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.
2023-05-23 10:26:03 +00:00
## Variables
2023-09-07 17:50:05 +00:00
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 script `gen_env.sh` .
2023-08-28 18:25:32 +00:00