Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
database:sinp-aura:gn2pg [2024/02/16 09:44] – [Mise à jour de l'installation de Gn2Pg] jpmilcent | database:sinp-aura:gn2pg [2024/11/20 08:46] (Version actuelle) – [Relancer un import GN2PG interrompu] jpmilcent | ||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
* Afficher la table : '' | * Afficher la table : '' | ||
* Trier les données par ordre décroissant du champ '' | * Trier les données par ordre décroissant du champ '' | ||
- | | + | * La date '' |
+ | | ||
* Modifier ensuite le fichier '' | * Modifier ensuite le fichier '' | ||
* Ajouter/ | * Ajouter/ | ||
Ligne 42: | Ligne 43: | ||
* Mettre à jour le fichier '' | * Mettre à jour le fichier '' | ||
* Corriger les fichiers '' | * Corriger les fichiers '' | ||
- | * En local, les tester avec : '' | + | * En local, les tester avec : '' |
* Tester le script en local depuis le dossier '' | * Tester le script en local depuis le dossier '' | ||
- | * Sur le serveur : | + | * Sur le serveur |
* Se placer dans le dossier ~/data/ avec : '' | * Se placer dans le dossier ~/data/ avec : '' | ||
* Récupérer les changements : '' | * Récupérer les changements : '' | ||
- | * Mettre à jour Pipenv : '' | + | * Mettre à jour Pipenv |
+ | * afficher la version actuellement installée de Pipenv via Pipx : '' | ||
+ | * mise à jour : '' | ||
+ | * vérifier la version de Pipenv : '' | ||
+ | * Mettre à jour les dépendances des paquets Python : '' | ||
+ | * Se placer dans le dossier de gn2pg : '' | ||
* Vérifier l' | * Vérifier l' | ||
* s' | * s' | ||
* si nécessaire, | * si nécessaire, | ||
- | | + | |
- | * Mettre à jour les dépendances des paquets Python | + | |
* Vérifier/ | * Vérifier/ | ||
- | * Si nécessaire, | + | * Si nécessaire, |
- | * '' | + | |
- | * '' | + | ===== Installer le Dashboard Gn2Pg ===== |
+ | | ||
+ | * Ex. : https:// | ||
+ | * Se connecter sur le serveur //web-srv// en tant que //geonat// avec : '' | ||
+ | * Créer les dossiers qui contiendront l' | ||
+ | * Copier dedans les fichiers suivant :<code bash> | ||
+ | cp ~/ | ||
+ | cp ~/ | ||
+ | cp ~/ | ||
+ | </ | ||
+ | * Créer une page '' | ||
+ | * Pour chaque schéma abritant les tables de Gn2Pg (ou // | ||
+ | * Se placer dans le dossier '' | ||
+ | * Cloner une première fois le dépôt en tant que //lpo// avec : '' | ||
+ | * Cloner une seconde fois le dépôt en tant que //flavia// avec : '' | ||
+ | * Pour chaque source, nous allons réaliser manuellement les étapes présentes dans '' | ||
+ | * se placer dans le dossier de la source : '' | ||
+ | * Copier le fichier settings.ini : '' | ||
+ | * Éditer et modifier le fichier settings.ini : '' | ||
+ | GN2PG_CONFIG_NAME="< | ||
+ | APPLICATION_ROOT="/< | ||
+ | SERVER_NAME=" | ||
+ | GUNICORN_WORKERS=4 | ||
+ | GUNICORN_TIMEOUT=30 | ||
+ | GUNICORN_PORT=5050< | ||
+ | DEBUG=true | ||
+ | </ | ||
+ | * Pour le numéro du port Gunicorn, partir de 50500 et ajouter 1 pour chaque source (50501, 50502...). | ||
+ | * Copier le fichier de config gn2pg depuis le serveur //db-srv// : '' | ||
+ | * Modifier le fichier de config : '' | ||
+ | * Vous pouvez garder seulement la section '' | ||
+ | * Créer un fichier '' | ||
+ | GUNICORN_PROC_NAME=gn2pg-< | ||
+ | GUNICORN_PORT=5050< | ||
+ | GUNICORN_LOG_FILE=/ | ||
+ | GUNICORN_LOG_LEVEL=debug | ||
+ | </code> | ||
+ | * Installer Poetry : '' | ||
+ | * Installer les dépendances du Dashboard de Gn2pg avec : <code bash> | ||
+ | poetry config virtualenvs.create true --local | ||
+ | poetry config virtualenvs.in-project true --local | ||
+ | poetry install --extras=dashboard | ||
+ | </ | ||
+ | * Créer un fichier de service Sytemd : '' | ||
+ | * Prendre en compte le service créé : '' | ||
+ | * Lancer le service : '' | ||
+ | * Si nécessaire, | ||
+ | * Si nécessaire, | ||
+ | * Lors de la création du fichier : | ||
+ | * Activer le nouveau fichier de config : '' | ||
+ | * Recharger Nginx : '' | ||
+ | * Récupérer le certificat SSL : '' | ||
+ | * Pour les sources suivantes, il faut seulement compléter le fichier config en ajoutant une nouvelle " | ||
+ | * Recharger Nginx : '' | ||
+ | * Tester l' | ||
+ | * Consulter les logs en cas de problème : '' | ||
+ | |||
+ | ==== Fichier Nginx par défaut ==== | ||
+ | <code nginx> | ||
+ | server { | ||
+ | listen [::]:80 ipv6only=on; | ||
+ | listen 80; | ||
+ | |||
+ | server_name gn2pg.< | ||
+ | root / | ||
+ | |||
+ | satisfy any; | ||
+ | allow < | ||
+ | deny all; | ||
+ | auth_basic "Zone restreinte"; | ||
+ | auth_basic_user_file / | ||
+ | |||
+ | location /< | ||
+ | proxy_set_header X-Forwarded-Host $host: | ||
+ | proxy_set_header X-Forwarded-Server $host; | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | proxy_set_header X-Forwarded-Proto $scheme; | ||
+ | proxy_redirect off; | ||
+ | proxy_buffering off; | ||
+ | |||
+ | proxy_read_timeout 30s; | ||
+ | proxy_connect_timeout 10s; | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Fichier Logrotate de Gn2Pg ==== | ||
+ | < | ||
+ | / | ||
+ | su geonat geonat | ||
+ | daily | ||
+ | rotate 8 | ||
+ | size 100M | ||
+ | create | ||
+ | compress | ||
+ | postrotate | ||
+ | systemctl reload gn2pg || true | ||
+ | endscript | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Fichier Systemd de Gn2Pg ==== | ||
+ | < | ||
+ | [Unit] | ||
+ | Description=GN2PG-< | ||
+ | After=network.target | ||
+ | # | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | User=geonat | ||
+ | Group=geonat | ||
+ | WorkingDirectory=/ | ||
+ | Environment=GUNICORN_PROC_NAME=gn2pg | ||
+ | Environment=GUNICORN_NUM_WORKERS=4 | ||
+ | Environment=GUNICORN_PORT=5001 | ||
+ | Environment=GUNICORN_TIMEOUT=30 | ||
+ | Environment=GUNICORN_LOG_FILE=/ | ||
+ | Environment=GUNICORN_LOG_LEVEL=info | ||
+ | EnvironmentFile=-/ | ||
+ | ExecStart=/ | ||
+ | --name " | ||
+ | --bind " | ||
+ | --log-file " | ||
+ | ExecReload=/ | ||
+ | TimeoutStartSec=10 | ||
+ | TimeoutStopSec=5 | ||
+ | PrivateTmp=true | ||
+ | StandardOutput=append:/ | ||
+ | StandardError=inherit | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | ==== Exemple de contenu pour index.html ==== | ||
+ | <code html> | ||
+ | < | ||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | < | ||
+ | <link href=" | ||
+ | < | ||
+ | .bi { | ||
+ | vertical-align: | ||
+ | fill: currentColor; | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | <svg xmlns=" | ||
+ | <symbol id=" | ||
+ | <path fill-rule=" | ||
+ | </ | ||
+ | </ | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <img src=" | ||
+ | <img src="/ | ||
+ | <h1 class=" | ||
+ | <p class=" | ||
+ | Accès aux interfaces des dashboards de Gn2Pg. | ||
+ | </p> | ||
+ | <div class=" | ||
+ | <a class=" | ||
+ | LPO | ||
+ | <svg class=" | ||
+ | </a> | ||
+ | <a class=" | ||
+ | Flavia | ||
+ | <svg class=" | ||
+ | </a> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | <script src=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ |