From 7e39205954b95410c0e55db50cc947ab94f658f5 Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Thu, 14 Sep 2023 14:01:33 +0200 Subject: [PATCH] Review Docker installation documentation --- docs/installation-docker.rst | 45 +++++++++++++++--------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/docs/installation-docker.rst b/docs/installation-docker.rst index ede8940b88..9104d478f2 100644 --- a/docs/installation-docker.rst +++ b/docs/installation-docker.rst @@ -1,28 +1,27 @@ Docker ****** -Depuis GeoNature 2.12, GeoNature fourni des images Docker pour le backend et le frontend. +L'installation de GeoNature avec Docker est la manière la plus simple de déployer GeoNature, ses 4 modules externes principaux (Import, Export, Dashboard, Monitoring), TaxHub et UsersHub, mais aussi de les mettre à jour, avec seulement quelques lignes de commandes. -.. warning:: +Elle permet aussi d'installer GeoNature sur différents systèmes, et pas uniquement sur Debian, comme c'est le cas avec l'installation classique. - Les images Docker sont encore récentes, non éprouvées et peu documentées. - Leur utilisation en production n’est de ce fait pas encore recommandée. +Elle peut néanmoins nécessiter de connaitre le fonctionnement de Docker pour ceux qui souhaitent aller plus loin et mettre en place une installation plus spécifique. +Docker Compose +-------------- -Prérequis ---------- - -* `Docker `_ +Pour déployer facilement GeoNature avec Docker, utilisez le Docker Compose proposé et documenté dans le dépôt `GeoNature-Docker-services `_. +Pour des déploiements Docker plus avancés et spécifiques, des images Docker des différents outils (GeoNature, TaxHub, UsersHub, GeoNature et ses 4 modules externes principaux) sont automatiquement construites et publiées à chaque nouvelle version publiée. Image backend ------------- -Des images pré-buildées sont présentes sur `github `_. +Des images pré-construites automatiquement sont présentes sur `Github `_. -Les images tagguées `-wheels` contiennent les wheels Python de GeoNature, de ses dépendances et modules contrib, de manière à pouvoir être enrichie avec vos wheels provenant de vos propres modules (images de type « builder »). +Les images tagguées `-wheels` contiennent les wheels Python de GeoNature, de ses dépendances et modules contrib, de manière à pouvoir être enrichies avec vos wheels provenant de vos propres modules (images de type « builder »). -Build manuel de l’image : +Construction manuelle de l’image : .. code-block:: bash @@ -31,28 +30,26 @@ Build manuel de l’image : --target=prod \ --tag=ghcr.io/pnx-si/geonature-backend:develop - Fonctionnement de l’image : * GeoNature attend sa configuration dans le dossier ``/dist/config`` (à monter dans un volume afin de pouvoir la modifier). L’emplacement du fichier de configuration peut également être précisé via la variable d’environnement ``GEONATURE_CONFIG_FILE``. * Il est également possible de fournir une configuration Python via la variable d’environnement ``GEONATURE_SETTINGS``. -* Les médias seront stocké dans le dossier ``/dist/media`` (à monter dans un volume afin de les sauvegarder). -* Toute variable d’environnement préfixée par ``GEONATURE_`` se verra traduit par un paramètre de configuration homonyme +* Les médias seront stockés dans le dossier ``/dist/media`` (à monter dans un volume afin de les sauvegarder). +* Toute variable d’environnement préfixée par ``GEONATURE_`` se verra traduite par un paramètre de configuration homonyme (`documentation Flask `_). - Si vous souhaitez définir une variable de configuration se trouvant dans une section, utilisé deux *underscore*. + Si vous souhaitez définir une variable de configuration se trouvant dans une section, utilisez deux *underscore*. Par exemple, pour définir le paramètre ``NB_LAST_OBS`` de la section ``[SYNTHESE]``, on définira une variable d’environnement ``GEONATURE_SYNTHESE__NB_LAST_OBS``. -* Pour peupler la base de données, référez vous au script ``install/03_create_db.sh``. - +* Pour peupler la base de données, référez-vous au script ``install/03_create_db.sh``. Image frontend -------------- -Des images pré-buildées sont présentes sur `github `_. +Des images pré-construites automatiquement sont présentes sur `Github `_. -Les images tagguées `-source` contiennent uniquement les sources de GeoNature et des modules contrib, et attendent d’être enrichie avec les sources de vos propres modules tandis que les images tagguées `-nginx` contiennent la configuration nginx prête à l’emploi pour GeoNature (images de type « builder »). +Les images tagguées `-source` contiennent uniquement les sources de GeoNature et des modules contrib, et attendent d’être enrichies avec les sources de vos propres modules tandis que les images tagguées `-nginx` contiennent la configuration NGINX prête à l’emploi pour GeoNature (images de type « builder »). -Build manuel de l’image : +Construction manuelle de l’image : .. code-block:: bash @@ -64,16 +61,10 @@ Build manuel de l’image : Fonctionnement de l’image : -* La configuration nginx de l’image est généré dynamiquement à son démarrage à partir des variables d’environnement suivantes : +* La configuration NGINX de l’image est générée dynamiquement à son démarrage, à partir des variables d’environnement suivantes : * ``NGINX_PORT`` (défaut : 80) * ``NGINX_HOST`` (défaut : localhost) * ``NGINX_LOCATION`` (défaut : /, à modifier pour servir GeoNature sur un préfixe) * La variable d’environnement ``API_ENDPOINT`` est lue au démarrage de l’image afin de mettre à jour le fichier de configuration du frontend ``assets/config.json``. - - -Docker Compose --------------- - -Une configuration Docker Compose est en cours de mise au point dans `la branche *docker-compose* du dépôt GeoNature-Docker-services `_.