2020-05-14 14:53:04 +02:00
# Services
2021-10-23 16:06:42 +02:00
Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien utilise et met à jour de façon presque hebdomadaire. L'ensemble des variables d'environnement enregistrées dans les fichiers `.env` est présent pour une logique d'exemple et n'a jamais été utilisé en production. Nous vous conseillons de ne jamais le faire si vous utilisez le dépôt.
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
## Liste des services
### Pour les utilisateurs
2022-02-09 17:57:03 +01:00
- [Directus ](./directus ) : Permet d'administrer une base de données
2021-07-29 22:59:57 +02:00
- [HedgeDoc ](./hedgedoc ) : Prise de note en Markdown collaborative en temps réel
2022-02-09 17:57:03 +01:00
- [Mobilizon ](./mobilizon ): Permet l'organisation d'évènements et de gestion de groupes
2021-05-04 16:14:47 +02:00
- [Nextcloud ](./nextcloud ) : Site d'hébergement de fichiers et une plateforme de collaboration
2022-04-15 14:54:08 +02:00
- [Plausible ](./plausible ) : Plausible est une plateforme d'analyse Web légère et open source
- [Vikunja ](./vikunja ) : L'application pour organiser sa vie
2020-05-16 00:47:59 +02:00
2021-05-04 16:14:47 +02:00
### Pour les devs / ops
2020-05-16 00:47:59 +02:00
2022-02-22 16:01:09 +01:00
- [ClickHouse ](./clickhouse ) : Un logiciel libre de base de données orientée colonnes pour le traitement analytique en ligne
2022-01-19 15:07:02 +01:00
- [Drone ](./drone ) : Un service d'intégration continue
2022-02-22 16:01:45 +01:00
- [GeoIP Update ](./geoipupdate ) : Permet de télécharger la base de données GeoIP2 permettant de localiser les IPs
2021-05-04 16:14:47 +02:00
- [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
2022-02-09 17:57:03 +01:00
- [Redis ](./redis ) : Système de gestion de base de données clé-valeur extensible, très hautes performances
- [Registry Docker ](./registry ) : Une application qui permet de distribuer des images Docker
2021-05-04 16:14:47 +02:00
- [Traefik ](./traefik ) : Traefik, un reverse-proxy pour vos conteneurs
2021-10-23 00:45:25 +02:00
- [Watchtower ](./watchtower ) : Automatiser la mise à jour d'image docker
2020-05-16 00:47:59 +02:00
2021-05-04 16:14:47 +02:00
## Comment ça marche ?
2021-10-23 16:06:42 +02:00
Vous pouvez réutiliser ce dépôt pour vos services, il existe une documentation dans le dossier [_examples_ ](./examples ).
2020-05-15 23:34:50 +02:00
### Docker et Docker Compose
2021-05-04 16:14:47 +02:00
L'ensemble des services est géré avec [Docker ](https://docs.docker.com/engine/ ) et [Docker Compose ](https://docs.docker.com/compose/ ).
2020-05-15 23:34:50 +02:00
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
2021-10-23 16:06:42 +02:00
> 🚧 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 mis à jour et finiront peut être par être supprimés. Utilisez les avec précaution.
2021-10-23 00:45:25 +02:00
2020-05-15 23:34:50 +02:00
Vous pourrez trouver dans les dossiers des services un script bash `run` . Le principe est de faciliter la maintenance de chaque service.
2021-10-23 16:06:42 +02:00
Vous pouvez lancer le script sans paramètres pour afficher la documentation du script.
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
## Documentation
### `set -eu` ?
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
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.
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
### Références
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
- [Gestion de service avec Traefik ](https://github.com/lfache/awesome-traefik )
- [Exemple de service docker ](https://github.com/crazy-max )
2021-07-29 22:59:57 +02:00
- [LinuxServer qui construit et maintient des images Docker ](https://www.linuxserver.io/ )
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
## Tâches
2020-05-15 23:34:50 +02:00
2021-10-23 00:45:25 +02:00
> 🚧 Ses tâches ne sont pas à jour
2021-05-04 16:14:47 +02:00
Général :
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
- [ ] Mettre en place une rotation des logs
2021-07-29 22:59:57 +02:00
- [ ] Mettre à jour la documentation des services (HedgeDoc, Drone, Gitea, Grafana, Nextcloud, Postgres, Prometheus, Registry, Traefik, Watchtower)
2020-05-15 23:34:50 +02:00
2021-05-04 16:14:47 +02:00
Services :
2020-05-15 23:34:50 +02:00
2021-07-29 22:59:57 +02:00
- [ ] [HedgeDoc] Mettre à jour les scripts de sauvegarde et restauration pour correspondre à la nouvelle architecture
2021-05-04 16:14:47 +02:00
- [ ] [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 )
2021-05-04 18:13:59 +02:00
- [ ] [Nextcloud] Mise à jour de Redis en version 6.2 (problème lors de la mise à jour à creuser)
2021-05-04 16:14:47 +02:00
- [ ] [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
2021-05-17 14:18:10 +02:00
- [ ] [PostgreSQL] Faire la mise à jour à la [version 13 ](https://www.postgresql.org/docs/release/13.0/ )
2020-06-20 10:44:12 +02:00
2021-05-04 16:14:47 +02:00
Réalisées :
2020-06-20 10:44:12 +02:00
2021-07-29 22:59:57 +02:00
- [x] ~~[CodiMD] Modifier l'image pour utiliser le fork [HedgeDoc](https://hedgedoc.org/) (2021-07-27)~~
2021-05-04 18:12:25 +02:00
- [x] ~~[Nextcloud] Mise à jour de Redis en version [6.0.13](https://github.com/redis/redis/releases/tag/6.0.13) (2021-05-04)~~
2021-05-04 18:09:55 +02:00
- [x] ~~[Grafana] Mise à jour en version [7.5.5](https://github.com/grafana/grafana/releases/tag/v7.5.5) (2021-05-04)~~
2021-05-04 16:14:47 +02:00
- [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~~