services/README.md

4.8 KiB

Services

Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien utilise et mets à jour de façon presque hebdomadaire. L'ensemble des variable d'environnement enregistré dans les fichiers .env sont présent pour une logique d'exemple et n'ont jamais été utilisé en production. Nous vous conseillons de jamais le faire si vous utilisez le dépôt.

Liste des services

Pour les utilisateurs

  • HedgeDoc : Prise de note en Markdown collaborative en temps réel
  • Nextcloud : Site d'hébergement de fichiers et une plateforme de collaboration
  • Directus : Permet d'administrer une base de données

Pour les devs / ops

  • Drone ⏸️ en pause : Un service d'intégration continue
  • Gitea : Un service Git auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab.
  • Grafana : Un outil de supervision simple et élégant
  • PostgreSQL : PostgreSQL est un système de gestion de base de données relationnelle et objet.
  • Prometheus : Un logiciel de surveillance informatique
  • Docker Registry : Une application qui permet de distribuer des images Docker
  • Traefik : Traefik, un reverse-proxy pour vos conteneurs
  • Watchtower : Automatiser la mise à jour d'image docker

Comment ça marche ?

Vous pouvez réutiliser ce dépôt pour vos services, une documentation dans le dossier examples.

Docker et Docker Compose

L'ensemble des services est géré avec Docker et Docker Compose.

Voici les commandes de base :

  • docker-compose up -d : Permet de lancer un service
  • docker-compose down -v : Permet de supprimer un service (avec l'option -v on supprime aussi les volumes donc attention de pas perdre des données)

./run

🚧 RésiLien a changé de façon de faire et nous n'utilisons plus les scripts run. Nous passons maintenant par Ansible. Les scripts ne seront plus mise à jour et finirons peut être par être supprimé. Utilisez les avec précaution.

Vous pourrez trouver dans les dossiers des services un script bash run. Le principe est de faciliter la maintenance de chaque service.

Vous pouvez lancer le script sans paramètre pour afficher la documentation du script.

Documentation

set -eu ?

En haut de chaque script il y a set -eu qui veut dire :

  • -e Exit immediately if a command exits with a non-zero status.
  • -u Treat unset variables as an error when substituting.

Références

Tâches

🚧 Ses tâches ne sont pas à jour

Général :

  • Mettre en place une rotation des logs
  • Mettre à jour la documentation des services (HedgeDoc, Drone, Gitea, Grafana, Nextcloud, Postgres, Prometheus, Registry, Traefik, Watchtower)

Services :

  • [HedgeDoc] Mettre à jour les scripts de sauvegarde et restauration pour correspondre à la nouvelle architecture
  • [Drone] Création d'un script de sauvegarde et restauration
  • [Nextcloud] Ajout des informations SMTP
  • [Nextcloud] Prendre les bonnes pratique sur le dépot de crazy-max
  • [Nextcloud] Mise à jour de Redis en version 6.2 (problème lors de la mise à jour à creuser)
  • [Traefik] Mise en place d'un script pour sauvegarder/restaurer les certificats et la configuration
  • [Traefik] Mettre en place les metrics
  • [Traefik] Mettre en place l'accesslog
  • [WireGuard] Ajouter le service pour la création de tunnel VPN
  • [PostgreSQL] Faire la mise à jour à la version 13

Réalisées :

  • [CodiMD] Modifier l'image pour utiliser le fork HedgeDoc (2021-07-27)
  • [Nextcloud] Mise à jour de Redis en version 6.0.13 (2021-05-04)
  • [Grafana] Mise à jour en version 7.5.5 (2021-05-04)
  • Mettre à jour la documentation général et rapatrier les tâches des services ici (2021-05-04)
  • [Nextcloud] Mise en place d'une sauvegarde / restauration de sauvegarde
  • [Nextcloud] Modifier la gestion des jobs
  • [Nextcloud] Ajouter un redis pour une meilleure performance