Skip to content

Commit

Permalink
Release 2.15 (#44)
Browse files Browse the repository at this point in the history
* feat(doc): integrate the disapearance of TaxHub in the documentation
* feat(docker build): set geonature backend/frontend image to 2.15
* remove taxhub config dir
* feat(doc): update faq with the removing of TaxHub
* feat(release): bump submodule monitoring to 1.0.0 + bump geonature to 2.15.0
* feat(doc): update changelog + readme schema
* bump UsersHub to 2.4.4
  • Loading branch information
jacquesfize authored Dec 16, 2024
1 parent aa80c6c commit c6a384d
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 41 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: GEONATURE_BACKEND_IMAGE=ghcr.io/pnx-si/geonature-backend:develop
build-args: GEONATURE_BACKEND_IMAGE=ghcr.io/pnx-si/geonature-backend:2.15.0

frontend:
name: Build geonature frontend docker image
Expand Down Expand Up @@ -92,4 +92,4 @@ jobs:
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: GEONATURE_FRONTEND_IMAGE=ghcr.io/pnx-si/geonature-frontend:develop
build-args: GEONATURE_FRONTEND_IMAGE=ghcr.io/pnx-si/geonature-frontend:2.15.0
21 changes: 5 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# GeoNature Docker Services

Ce dépôt permet de déployer automatiquement et facilement GeoNature, UsersHub et TaxHub dans un environnement dockerisé et accessible en HTTPS. De plus, celui-ci fournit une image Docker de GeoNature contenant, outre les modules du cœur (Occtax, Occhab, Validation), les modules suivants :
Ce dépôt permet de déployer automatiquement et facilement GeoNature, UsersHub dans un environnement dockerisé et accessible en HTTPS. De plus, celui-ci fournit une image Docker de GeoNature contenant, outre les modules du cœur (Occtax, Occhab, Validation, Import), les modules suivants :

- [Import](https://github.com/PnX-SI/gn_module_import)
- [Export](https://github.com/PnX-SI/gn_module_exports)
- [Dashboard](https://github.com/PnX-SI/gn_module_dashboard)
- [Monitorings](https://github.com/PnX-SI/gn_module_monitorings)
Expand All @@ -18,19 +17,16 @@ Ce dépôt permet de déployer automatiquement et facilement GeoNature, UsersHub
- Lancer la commande `./init-config.sh` afin de créer les fichiers de configuration suivants, avec des clés secrètes générées aléatoirement :
- `config/geonature/geonature_config.toml`
- `config/usershub/config.py`
- `config/taxhub/config.py`
- Lancer les conteneurs : `docker compose up -d`

Les logs de tous les services sont accessibles avec la commande `docker compose logs -f`.
Pour n'afficher que les 100 dernières lignes, on utilise l'option `--tail 100` et donc la commande `docker compose logs -f --tail 100`.
Pour n'afficher les logs que d'un service en particulier, on utilise la commande `docker compose logs -f <nom du service>`.


## Les services

- `postgres` : la base de données
- `usershub` : la gestion des utilisateurs
- `taxhub` : la gestion du référentiel taxonomique
- `geonature-backend` : l’API de GeoNature
- `geonature-frontend` : l’interface web de GeoNature
- `geonature-worker` : exécution de certaines tâches de GeoNature en arrière-plan (import, export, mail, etc...)
Expand All @@ -44,7 +40,6 @@ geonature-frontend 80/tcp
geonature-worker 8000/tcp
postgres 0.0.0.0:5435->5432/tcp, :::5435->5432/tcp
redis 6379/tcp
taxhub 5000/tcp
traefik 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:80->80/tcp, [::]:443->443/tcp
usershub 5001/tcp
```
Expand All @@ -57,12 +52,11 @@ Voir la documentation des différentes applications pour renseigner les fichiers

- GeoNature : `./config/geonature/geonature_config.toml` ([fichier d’exemple](https://github.com/PnX-SI/GeoNature/tree/master/config/geonature_config.toml.sample))
- UsersHub : `./config/usershub/config.py` ([fichier d’exemple](https://github.com/PnX-SI/UsersHub/tree/master/config/config.py.sample))
- TaxHub : `./config/taxhub/config.py` ([fichier d’exemple](https://github.com/PnX-SI/TaxHub/apptax/config.py.sample))

Ces fichiers doivent contenir _a minima_ le paramètre `SECRET_KEY`.
Vous pouvez générer automatiquement des fichiers vierges contenant des clés secrètes aléatoires avec le script `./init-config.sh`.

Si vous modifiez les fichiers de configuration de GeoNature, d'un de ses modules, de TaxHub ou de UsersHub, vous devez relancer les conteneurs Docker avec la commande `docker compose restart` (ou idéalement seulement le conteneur concerné, par exemple `docker compose restart usershub`).
Si vous modifiez les fichiers de configuration de GeoNature, d'un de ses modules, de UsersHub, vous devez relancer les conteneurs Docker avec la commande `docker compose restart` (ou idéalement seulement le conteneur concerné, par exemple `docker compose restart usershub`).

À noter que certaines variables seront fournies en tant que variables d'environnement (voir les fichiers [`.env`](./.env.sample) et [`docker-compose.yml`](./docker-compose.yml)), comme par exemple :

Expand All @@ -74,21 +68,21 @@ Vous pouvez personnaliser la [politique de redémarrage automatique des services

### Dossiers de configuration et de customisation

- Les fichiers de configuration de GeoNature et de ses modules, de TaxHub et de UsersHub sont donc dans le dossier `GeoNature-Docker-services/config/`
- Les fichiers de configuration de GeoNature, de ses modules et de UsersHub sont donc dans le dossier `GeoNature-Docker-services/config/`
- Les fichiers de customisation de GeoNature sont stockés dans le dossier `GeoNature-Docker-services/data/geonature/custom/`
- Les fichiers des médias de GeoNature (photos, application mobile...) sont stockés dans le dossier `GeoNature-Docker-services/data/geonature/media/`

### Configuration par variable d’environnement

Les applications peuvent être configurées par des variables d’environnement préfixées respectivement par `GEONATURE_`, `TAXHUB_` et `USERSHUB_` (voir [from_prefix_env](https://flask.palletsprojects.com/en/2.2.x/api/#flask.Config.from_prefixed_env)).
Les applications peuvent être configurées par des variables d’environnement préfixées respectivement par `GEONATURE_` et `USERSHUB_` (voir [from_prefix_env](https://flask.palletsprojects.com/en/2.2.x/api/#flask.Config.from_prefixed_env)).
Ces variables d’environnement doivent être renseignées directement dans le fichier `docker-compose.yml`, bien que certaines variables sont définies à partir d’une variable du même nom en provenance du fichier `.env`.

## Mettre à jour GeoNature et ses modules

- Vérifiez si la [dernière version disponible](https://github.com/PnX-SI/GeoNature-Docker-services/releases) correspond aux versions des applications que vous souhaitez mettre à jour
- Placez vous dans le dossier `GeoNature-Docker-services` de votre serveur
- Mettez à jour le contenu du dossier dans sa dernière version : `git pull`
- Lancez la commande qui va télécharger les dernières versions des différentes applications et les relancer : `docker compose pull && docker compose up -d`
- Lancez la commande qui va télécharger les dernières versions des différentes applications et les relancer : `docker compose pull && docker compose up -d --remove-orphans`

## FAQ

Expand Down Expand Up @@ -117,8 +111,3 @@ Ces images sont le pendant de [celles publiées sur le dépôt de GeoNature](htt

- [Dépôt](https://github.com/PnX-SI/UsersHub)
- [`Dockerfile`](https://github.com/PnX-SI/UsersHub/blob/master/Dockerfile)

### TaxHub

- [Dépôt](https://github.com/PnX-SI/Taxhub)
- [`Dockerfile`](https://github.com/PnX-SI/TaxHub/blob/master/Dockerfile)
Empty file removed config/taxhub/.gitkeep
Empty file.
14 changes: 9 additions & 5 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,21 @@
**🏷️ Versions**

- GeoNature 2.15.0
- TaxHub 2.1.0
- UsersHub 2.4.4
- GeoNature-dashboard 1.5.0
- GeoNature-export 1.7.2
- GeoNature-monitoring 0.7.3
- GeoNature-monitoring 1.0.0

**⚠️ Notes de version**
**🚀 Nouveautés**

- TaxHub est intégré à GeoNature par conséquent il n'y auras plus de container TaxHub
- Pour le fonctionnement de la base de donnée il faut installer l'extension ltree dans le container postgre, vous pouvez le faire avec la commande suivante :
- docker compose exec postgres psql -U {POSTGRES_USER} -d {POSTGRES_DB} -f /docker-entrypoint-initdb.d/add-extensions.sql
- TaxHub est désormais intégré à GeoNature.

**⚠️ Notes de version**

- Avant d'effectuer la mise à jour de GeoNature, installer l'extension `ltree` dans le container `postgres` :
`docker compose exec postgres psql -U [user_postgres] -d [nom_db_geonature] -f /docker-entrypoint-initdb.d/add-extensions.sql`
- La suppression du container TaxHub implique une modification du docker-compose, n'oubliez pas de récupérer les modifications de ce dernier ([Voir documentation](https://github.com/PnX-SI/GeoNature-Docker-services?tab=readme-ov-file#mettre-%C3%A0-jour-geonature-et-ses-modules))

## 2.14.2 (2024-06-03)

Expand Down
19 changes: 4 additions & 15 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pour exécuter une commande `geonature`, lancer la commande :
docker compose exec -it geonature-backend geonature nom_de_la_commande
```

Exemples :
Exemples :

```
docker compose exec -it geonature-backend geonature --help
Expand All @@ -33,8 +33,7 @@ Dans ce cas, vous pouvez utiliser un autre port : `-5433:5432`.
La base de données sera alors accessible localement sur le port 5433.
Attention, le deuxième port est celui d’écoute dans le conteneur et doit rester à 5432.


## Comment déployer GeoNature, TaxHub et UsersHub sur des domaines séparés ?
## Comment déployer GeoNature et UsersHub sur des domaines séparés ?

Modifier le fichier `.env` comme ceci (on suppose que `HOST="mon-domaine.org"`) :

Expand All @@ -43,11 +42,6 @@ USERSHUB_HOST="usershub.${HOST}"
USERSHUB_HOSTPORT="usershub.${HOSTPORT}"
USERSHUB_PREFIX="/"
TAXHUB_HOST="taxhub.${HOST}"
TAXHUB_HOSTPORT="taxhub.${HOSTPORT}"
TAXHUB_PREFIX="/"
TAXHUB_API_PREFIX="${TAXHUB_PREFIX}api"
GEONATURE_BACKEND_HOST="geonature.${HOST}"
GEONATURE_BACKEND_HOSTPORT="geonature.${HOSTPORT}"
GEONATURE_BACKEND_PREFIX="/api"
Expand All @@ -59,8 +53,7 @@ GEONATURE_FRONTEND_PREFIX="/"

Puis relancer `docker compose up -d`

Vous pourrez alors accéder, par exemple, à GeoNature à l’adresse https://geonature.mon-domaine.org, TaxHub à l’adresse https://taxhub.mon-domaine.org et UsersHub à l'adresse https://usershub.mon-domaine.org.

Vous pourrez alors accéder, par exemple, à GeoNature à l’adresse https://geonature.mon-domaine.org et UsersHub à l'adresse https://usershub.mon-domaine.org.

## Comment importer le MNT / DEM ?

Expand All @@ -77,7 +70,6 @@ Par défaut un MNT de France métropolitaine avec un pas de 250m fourni par l'IG
À noter : si le conteneur `postgres` est recréé, l’installation de `raster2pgsql` et la copie du MNT dans le conteneur seront perdus.
Mais ces données ne sont normalement plus nécessaires une fois le MNT importé dans la base de données (qui elle est permanente).


## Comment rediriger `/` vers `/geonature/` ?

Créer un fichier `docker-compose.override.yml` avec ces lignes, pour ajouter au service `traefik` les labels suivants :
Expand All @@ -95,7 +87,6 @@ services:
- "traefik.http.middlewares.gnprefix.redirectregex.replacement=${GEONATURE_FRONTEND_PREFIX}/"
```


## Comment connaître la version de GeoNature contenue dans l’image Docker ?

```
Expand All @@ -108,15 +99,14 @@ ou, pour plus d’informations :
docker image inspect ghcr.io/pnx-si/geonature-backend-extra --format '{{json .Config.Labels}}'
```


## Comment rebuilder localement les images Docker ?

- Initialiser et cloner les sous-modules git :
```bash
git submodule init
git submodule update
```
- Faire de même pour les sous-modules de GeoNature, TaxHub et UsersHub, exemple pour GeoNature :
- Faire de même pour les sous-modules de GeoNature et UsersHub, exemple pour GeoNature :
```bash
cd sources/GeoNature
git submodule init
Expand All @@ -127,7 +117,6 @@ docker image inspect ghcr.io/pnx-si/geonature-backend-extra --format '{{json .Co
- Il est conseillé de renommer les images dans le fichier `.env` afin de ne pas rentrer en conflit avec les images officielles, par exemple en leur rajoutant un suffix `-local` :
```env
USERSHUB_IMAGE="ghcr.io/pnx-si/usershub-local:latest"
TAXHUB_IMAGE="ghcr.io/pnx-si/taxhub-local:latest"
GEONATURE_BACKEND_IMAGE="ghcr.io/pnx-si/geonature-backend-local:latest"
GEONATURE_BACKEND_EXTRA_IMAGE="ghcr.io/pnx-si/geonature-backend-extra-local:latest"
GEONATURE_FRONTEND_IMAGE="ghcr.io/pnx-si/geonature-frontend-local:latest"
Expand Down
Binary file modified docs/schema_services_0.1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion sources/GeoNature
Submodule GeoNature updated 586 files
2 changes: 1 addition & 1 deletion sources/gn_module_monitoring
Submodule gn_module_monitoring updated 27 files
+14 −17 .github/workflows/pytest.yml
+5 −4 README.md
+1 −1 VERSION
+1 −1 backend/gn_module_monitoring/monitoring/models.py
+11 −7 backend/gn_module_monitoring/routes/monitoring.py
+9 −2 backend/gn_module_monitoring/routes/site.py
+9 −2 backend/gn_module_monitoring/routes/sites_groups.py
+1 −1 dependencies/GeoNature
+28 −2 docs/changelog.md
+ docs/images/2024-11-MCD_schema_monitoring.png
+12 −0 frontend/app/components/draw-form/draw-form.component.ts
+1 −1 frontend/app/components/monitoring-datatable-g/monitoring-datatable-g.component.ts
+1 −1 frontend/app/components/monitoring-datatable/monitoring-datatable.component.ts
+8 −5 frontend/app/components/monitoring-form/monitoring-form.component.ts
+1 −1 frontend/app/components/monitoring-lists/monitoring-lists.component.html
+1 −1 frontend/app/components/monitoring-lists/monitoring-lists.component.ts
+4 −1 frontend/app/components/monitoring-map-list/monitoring-map-list.component.ts
+3 −1 frontend/app/components/monitoring-object/monitoring-object.component.ts
+6 −1 frontend/app/components/monitoring-sites-create/monitoring-sites-create.component.ts
+2 −0 frontend/app/components/monitoring-sites-detail/monitoring-sites-detail.component.html
+14 −1 frontend/app/components/monitoring-sites-detail/monitoring-sites-detail.component.ts
+6 −1 frontend/app/components/monitoring-sitesgroups-create/monitoring-sitesgroups-create.component.ts
+5 −2 frontend/app/components/monitoring-sitesgroups-detail/monitoring-sitesgroups-detail.component.html
+22 −0 frontend/app/components/monitoring-sitesgroups-detail/monitoring-sitesgroups-detail.component.ts
+1 −1 frontend/app/interfaces/object.ts
+9 −2 frontend/app/services/form.service.ts
+1 −1 requirements.in

0 comments on commit c6a384d

Please sign in to comment.