# Services Vous trouverez dans ce dépôt l'ensemble des services Open Source que je propose. ## Liste des services ### Pour les utilisateurs - [CodiMD](./codimd) : Prise de note en Markdown collaborative en temps réel - [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration ### Pour les devs / ops - [Drone](./drone) `en pause` : Un service d'intégration continue - [Gitea](./gitea) : Un service Git auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab. - [Grafana](./grafana) : Un outil de supervision simple et élégant - [PostgreSQL](./postgres) : PostgreSQL est un système de gestion de base de données relationnelle et objet. - [Prometheus](./prometheus) : Un logiciel de surveillance informatique - [Docker Registry](./registry) : Une application qui permet de distribuer des images Docker - [Traefik](./traefik) : Traefik, un reverse-proxy pour vos conteneurs - [Watchtower](./watchtower) `en pause` : Automatiser la mise à jour d'image docker ## Comment ça marche ? Vous pouvez réutiliser ce dépôt pour votre infrastructure. J'ai mis une documentation dans le dossier [_examples_](./examples). ### Docker et Docker Compose L'ensemble des services est géré avec [Docker](https://docs.docker.com/engine/) et [Docker Compose](https://docs.docker.com/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 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 - [Gestion de service avec Traefik](https://github.com/lfache/awesome-traefik) - [Exemple de service docker](https://github.com/crazy-max) ## Tâches Général : - [ ] Mettre en place une rotation des logs - [ ] Mettre à jour la documentation des services (CodiMD, Drone, Gitea, Grafana, Nextcloud, Postgres, Prometheus, Registry, Traefik, Watchtower) Services : - [ ] [CodiMD] Modifier l'image pour utiliser le fork [HedgeDoc](https://hedgedoc.org/) surtout quand [la version 2.0](https://github.com/hedgedoc/hedgedoc/milestone/6) sera sortie - [ ] [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](https://github.com/crazy-max/docker-nextcloud/blob/master/examples/traefik/docker-compose.yml) - [ ] [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 Réalisées : - [x] ~~[Nextcloud] Mise à jour de Redis en version [6.0.13](https://github.com/redis/redis/releases/tag/6.0.13) (2021-05-04)~~ - [x] ~~[Grafana] Mise à jour en version [7.5.5](https://github.com/grafana/grafana/releases/tag/v7.5.5) (2021-05-04)~~ - [x] ~~Mettre à jour la documentation général et rapatrier les tâches des services ici (2021-05-04)~~ - [x] ~~[Nextcloud] Mise en place d'une sauvegarde / restauration de sauvegarde~~ - [x] ~~[Nextcloud] [Modifier la gestion des jobs](https://docs.nextcloud.com//server/latest/admin_manual/configuration_server/background_jobs_configuration.html#cron)~~ - [x] ~~[Nextcloud] [Ajouter un redis](https://www.it-connect.fr/nextcloud-activer-et-configurer-le-cache-redis/) pour une meilleure performance~~