From 05af9bc4ad44767f1f91605b4403dd6c68b6e231 Mon Sep 17 00:00:00 2001 From: "joel.clement" Date: Fri, 8 Sep 2023 14:39:30 +0200 Subject: [PATCH] up README --- README.md | 188 ++++++++++++++---------------------------------------- 1 file changed, 48 insertions(+), 140 deletions(-) diff --git a/README.md b/README.md index bc496ee..6b3fa3b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Dockerisation de geonature et d'application associées - `taxhub` - `geonature-backend` - `geonature-frontend` - - `geonature-worker`: `worker` qui peut reprendre certaine tâches de geonature (import, export, mail, etc...) + - `geonature-worker`: peut reprendre certaine tâches de geonature (import, export, mail, etc...) - `redis` - `traefik` @@ -47,43 +47,49 @@ Il y a deux moyen pour configurer les applications: les fichiers de configuratio Par défaut, la structure des fichiers est la suivante -``` - - - - db/ - - postgres (volume (ou point de montage ??) pour la bdd ()) - - apps/ - - taxhub/ - - config/ - - config.py - - static/ - - geonature/ - - config/ - - geonature_config.toml - - media/ - - usershub/ - - config/ - - config.py - - atlas/ - - config/ - - config.py - - custom/ +``` bash +./data + - services/ # fichiers de config, custom, medias, backup, etc ... des application + # destinés à être accessible et/ou modifiable par les utilisateur/administrateurs + + - geonature/ + - config/ # dossier de configuration contenant `geonature_config.toml`, `occtax_config.toml`, etc... + - custom/ # dossier `custom` de geonature (surcharge le dossier `static`) + - media/ # dossier `media` de geonature + - data/ # dossier `data` (peux contenir les fichiers pour les données des référentiels (taxref, ref_geo, ref_nomenclature, etc....)) + + - usershub/ + - config/ # dossier contenant le fichier config.py + + - taxhub/ + - config/ # dossier contenant le fichier config.py + - media/ # dossier des médias de taxhub + - atlas + - config/ # dossier contenant le fichier config.py + - custom/ # dossier `custom de l'atlas (contient le style, les templates, les scripts js, etc...) + + - postgres + - backup/ # contient les fichier de sauvegarde de la bdd + + - storage # stockage des dossiers nécessaire pour le fonctionnement + - postgres # dossier contenant la bdd + - pgadmin # ... ``` Voir la documentation des différentes applications pour renseigner les fichiers de configuration - [fichier exemple pour GeoNature](./sources/GeoNature/config/geonature_config.toml.sample) - - Il faut au moins renseigner la variable `SECRET_KEY`. - [fichier exemple pour UsersHub](./sources/UsersHub/config/config.py.sample) - [fichier exemple pour TaxHub](./sources/TaxHub/apptax/config.py.sample) - [fichier exemple pour GeoNature-atlas](./sources/GeoNature-atlas/atlas/configuration/config.py.sample) -à noter que certaines variables seront fournies en tant que variables d'environnement (voir les fichiers [docker-compose](./docker-compose.yml)) +à noter que certaines variables seront fournies en tant que variables d'environnement (dans le fichier `.env` par exemple) (voir les fichiers [docker-compose](./docker-compose.yml)) comme par exemple: - `URL_APPLICATION` - `SQLALCHEMY_DATABASE_URI` - - ... + - `SECRET_KEY` ### Variables d'environnement Ces variable peuvent être définie dans un fichier `.env`. @@ -100,110 +106,38 @@ Par exemple: #### Configuration des services -Les variable d'environnement qui servent au fichier docker-compose seront préfixées `GDS_` (comme GeoNature-Docker-Services) - -`GDS_` (`` (`` - - -##### Dossiers de Configuration - -- `GEONATURE_VOLUME_CONFIG_DIRECTORY` (`./data/apps/geonature/config`) : `/dist/config` -- `USERSHUB_VOLUME_CONFIG_DIRECTORY` (`./data/apps/usershub/config`) : `/dist/config` -- `TAXHUB_VOLUME_CONFIG_DIRECTORY` (`./data/apps/taxhub/config`) : `/dist/config` - -##### Dossiers persistants - -- `GEONATURE_VOLUME_MEDIA_DIRECTORY` (`./data/apps/geonature/media`) : `/dist/media` -- `TAXHUB_VOLUME_STATIC_DIRECTORY` (`./data/apps/taxhub/static`) : `/dist/static` -- `POSTGRES_VOLUME_DATA_DIRECTORY` (`./data/db/postgres`): `/var/lib/postgresql/data` +Voir les fichiers d'exemple: -##### Réseaux +- [configuration de développement](./.env.dev.exemple) -- `TRAEFIK_HTTP_PORT` (`80`) -- `TRAEFIK_HTTPS_PORT`(`403`) +- [configuration de production](./.env.prod.exemple) -- `GDS_USERSHUB_HOST` -- `GDS_USERSHUB_PROTOCOL` -- `USERSHUB_DOMAIN` -- `USERSHUB_PREFIX` (`/usershub`) +##### Quelques variables essentielles -- `GDS_TAXHUB_HOST` -- `GDS_TAXHUB_PROTOCOL` -- `TAXHUB_DOMAIN` -- `TAXHUB_PREFIX` (`/taxhub`) +- `GDS_VERSION`: Version de GeoNature-Docker-services (donne la version des applications) (voir le fichier [/doc/changelog.md]() pour le détails des versions des applications) -- `GEONATURE_DOMAIN` +- `DOMAIN`: nom de domaine des applications -- `GDS_GEONATURE_BACKEND_HOST` -- `GDS_GEONATURE_BACKEND_PROTOCOL` -- `GEONATURE_BACKEND_PREFIX` (`/geonature/api`) +- `PROJECT_NAME`: (gds) nom du projet, se repercute sur le nom des container et des réseaux, peut être utile dans le cas de plusieurs instances hébergées sur un même serveur -- `GDS_GEONATURE_FRONTEND_HOST` -- `GDS_GEONATURE_FRONTEND_PROTOCOL` -- `GEONATURE_FRONTEND_PREFIX` (`/geonature/api`) +- `APPLICATIONS_PREFIX`: preffixe de l'url de l'application (s'il n'est pas à la racine du nom de domaine) +- `POSTGRES_USER`, `POSTGRES_PASSWORD`, `POSTGRES_HOST`, `POSTGRES_DB`, `POSTGRES_PORT`: paramètres d'accès à la bdd -#### Exemples de configurations - -`GDS_` (`` (par exemple `localhost:8000` pour le service `geonature-backend`) - - ports `8081/8183` - -- env.current - - similaire à env.dev - - on build les images pour GeoNature (`FRONTEND` et `BACKEND`) (voir [build_geonature_all.sh](./build/build_geonature_all.sh) - - à partir du code des sous-modules github - - pour GeoNature seul - - pour GeoNature avec les 4 modules principaux (`IMPORT`, `EXPORT`, `DASHBOARD`, `MONITORING`) - - pour `UH` et `TH` on utilise (`:latest`) - - TODO builder les applis à partir du code des sous-modules github - - permet de pouvoir builder des images aux versions souhaitées (pour GeoNature et les modules) sans dépendre des versions releasées. -##### `env.prod` -- utilise les images docker des application taggées en `:latest` - - `ghcr.io/pnx-si/geonature-backend:latest` - - `ghcr.io/pnx-si/usershub:latest` - - `ghcr.io/pnx-si/taxhub-backend:latest` -- protocole `HTTPS` -- ports `80/443` - -##### `env.dev` -- utilise les images docker des application taggées en `:develop` -- protocole `HTPP` -- url des applications suffixées par `:` (par exemple `localhost:8000` pour le service `geonature-backend`) -- ports `8081/8183` +## Package et versionnement -##### `env.current` -- similaire à env.dev -- on peut construire en local les images pour GeoNature (`FRONTEND` et `BACKEND`) (voir [build_geonature_all.sh](./build/build_geonature_all.sh) - - à partir du code des sous-modules github - - pour GeoNature seul - - pour GeoNature avec les 4 modules principaux (`IMPORT`, `EXPORT`, `DASHBOARD`, `MONITORING`) -- pour `UH` et `TH` on utilise (`:latest`) -- permet de pouvoir builder des images aux versions souhaitées (pour GeoNature et les modules) sans dépendre des versions releasées. -- **TODO** construite aussi les images des autres applications (UsersHub, TaxHub) +Une actions permet la publication d'image dockers sur les packages du dépôt. -##### `env.lattest-versions` +- `gds-geonature-backend:` (Geonature + 4 modules) +- `gds-geonature-frontend:` (Geonature + 4 modules) -Permet de référencer les version de tags des dernières applications (équivalent à lattest mais avec des numéro de version codées en *dur*) +La valeur de `VERSION` peut être: -À titre informatif, il y a aussi les version des applicaitons et des modules utilisés. +- `current`: branche *travail en cours* +- `develop`: branche *develop* (un peu plus stable que current) +- `main`: correspond à la dernière release +- `1.1`: version releasée (voir le fichier (./docs/changelogs.md) pour avoir le détails des applicaitons et des modules. -Ces version sont aussi renseignées dans [le fichier changelog du dépôt)[./docs/changelog.md] ### Liens utiles ## Geonature @@ -231,29 +165,3 @@ https://github.com/PnX-SI/Taxhub - [`Dockerfile`](https://github.com/PnX-SI/TaxHub/blob/master/Dockerfile) -## Package et versionnement - -Une actions permet la publication d'image dockers sur les packages du dépôt. - -- `gds-geonature-4-modules-frontend:` -- `gds-geonature-4-modules-backend:` -- `gds-geonature-backend:` -- `gds-geonature-frontend:` - -La valeur de `VERSION` est calculée comme ceci: - -Si le build a été fait: -- depuis une branche on lui donne le nom de la branche (du dépôt courrant), on aura alors - - `develop`: version en cours de développement - - `main`: correspond en gros à la dernière release - -- depuis un tag ou une release, on aura alors: - - `__` - - par exemple - - `0.0.1__2.12.3` - - `0.0.2__2.12.3` - - `0.0.3__2.13.1` - - - et `latest` qui correspond à la dernière release buildée - -On suppose ici qu'une version ne va comporter que des états versionnées de GéoNature et de ses modules.