PnX-SI / GeoNature-Docker-PNX

Script de déploiement de GeoNature avec Docker dans le contexte spécifique des parcs nationaux
3 stars 2 forks source link

GeoNature-Docker-PNX

Dépôt de gestion des scripts Docker de déploiement de GeoNature multi-instances des parcs nationaux.
Il s'appuie sur les images Docker et docker-compose officiels de GeoNature (https://github.com/PnX-SI/GeoNature-Docker-services), mais en y ajoutant les compléments spécifiques au déploiement des parcs nationaux (multi-instances, ajout de GeoNature-atlas, de pgAdmin, de scripts de sauvegarde...).

Les services

SERVICE              PORTS
geonature-backend    8000/tcp
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, 0.0.0.0:8889->8080/tcp, :::80->80/tcp, :::443->443/tcp, :::8889->8080/tcp
usershub             5001/tcp

Schéma des services

Utilisation

Configuration

Il y a deux moyen pour configurer les applications: les fichiers de configuration et les variables d'environnement.

Dossiers et fichiers

Par défaut, la structure des fichiers est la suivante

./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

à noter que certaines variables seront fournies en tant que variables d'environnement (dans le fichier .env par exemple) (voir les fichiers docker-compose)

comme par exemple:

Ces variable peuvent être définie dans un fichier .env.

Configuration des applications

Il est possible de passer par les variables d'environnemnt pour configurer les applications.

Par exemple toutes les variables préfixée par GEONATURE_ seront traduite par un configuration de l'application GéoNature (USERSHUB_ pour usershub, et TAXHUB_ pour taxhub) (voir https://flask.palletsprojects.com/en/2.2.x/api/#flask.Config.from_prefixed_env).

Par exemple:

Configuration des services

Voir les fichiers d'exemple:

Quelques variables essentielles

Package et versionnement

Une actions permet la publication d'image dockers sur les packages du dépôt.

La valeur de VERSION peut être:

Liens utiles

Geonature

https://github.com/PnX-SI/GeoNature

UsersHub

https://github.com/PnX-SI/UsersHub

TaxHub

https://github.com/PnX-SI/Taxhub