| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| serveurs:installation:bkp-srv:pre-prod-geonature [2025/09/16 13:36] – [Remplacer la base par la dernière version sauvegardée] jpmilcent | serveurs:installation:bkp-srv:pre-prod-geonature [2026/09/16 19:24] (Version actuelle) – [Création du container Docker hébergeant Postgresql & Nginx] jpmilcent |
|---|
| * Se connecter à l'utilisateur geonat de bkp-srv :<code bash>ssh geonat@bkp-<region>-sinp</code> | * Se connecter à l'utilisateur geonat de bkp-srv :<code bash>ssh geonat@bkp-<region>-sinp</code> |
| * Installer les dépendances (NVM, Python...) de GeoNature en suivant [[serveurs:installation:web-srv:geonature-dependances#dependances_pour_l_instance_web-srv_bkp-srv_espace_pre-prod| la documentation]]. | * Installer les dépendances (NVM, Python...) de GeoNature en suivant [[serveurs:installation:web-srv:geonature-dependances#dependances_pour_l_instance_web-srv_bkp-srv_espace_pre-prod| la documentation]]. |
| | |
| ===== Procédure rapatriement de la prod ===== | ===== Procédure rapatriement de la prod ===== |
| * Se connecter à l'utilisateur //geonat// de //bkp-srv// : <code bash>ssh geonat@bkp-<region>-sinp</code> | * Se connecter à l'utilisateur //geonat// de //bkp-srv// : <code bash>ssh geonat@bkp-<region>-sinp</code> |
| GUNICORN_TIMEOUT=90 | GUNICORN_TIMEOUT=90 |
| </code> | </code> |
| | |
| ==== Reconfigurer UsersHub ==== | ==== Reconfigurer UsersHub ==== |
| * Changer les paramètres suivants dans //config.py// : <code bash>vi ~/usershub/config/config.py</code> <code python> | * Changer les paramètres suivants dans //config.py// : <code bash>vi ~/usershub/config/config.py</code> <code python> |
| |
| === Installer le client Postgresql sur l'hôte === | === Installer le client Postgresql sur l'hôte === |
| * Vérifier la présence du dépôt de paquets deb pour Postgresql dans : ''/etc/apt/sources.list.d/ '' | * Vérifier la présence du dépôt de paquets deb pour Postgresql dans : ''%% /etc/apt/sources.list.d/ %%'' |
| * **Vérifier la version de Postgresql utilisé par le container Docker Postgresql de la pré-prod.** | * **Vérifier la version de Postgresql utilisé par le container Docker Postgresql de la pré-prod.** |
| * Utiliser la même version pour l'installation du paquet postgresql-client. Ex. ici la v15 : ''apt install postgresql-client-15'' | * Utiliser la même version pour l'installation du paquet postgresql-client. Ex. ici la v15 : ''%% apt install postgresql-client-15 %%'' |
| * Afin de pouvoir utiliser la commande ''psql'' sur l'hôte mais également le script ''install_db.sh'' de l'Atlas, il est nécessaire de : | * Afin de pouvoir utiliser la commande ''psql'' sur l'hôte mais également le script ''%% install_db.sh %%'' de l'Atlas, il est nécessaire de : |
| * Créer un utilisateur ''postgres'' sur l'hôte : <code bash>adduser --system --no-create-home postgres</code> | * Créer un utilisateur ''postgres'' sur l'hôte : <code bash>adduser --system --no-create-home postgres</code> |
| * S'assurer que le fichier ''docker-compose.yml'' de la préprod lançant la base Postgres créé bien un mapping des sockets sur ''/run/postgresql'' dans les volumes (''- /run/postgesql/:/var/run/postgresql''). | * S'assurer que le fichier ''docker-compose.yml'' de la préprod lançant la base Postgres créé bien un mapping des sockets sur ''/run/postgresql'' dans les volumes (''%% - /run/postgesql/:/var/run/postgresql %%''). |
| * Il semble aussi nécessaire de modifier le mapping utilisateur des Foreign Data Tables en indiquant que le mot de passe n'est pas requis :<code bash> | * Il semble aussi nécessaire de modifier le mapping utilisateur des Foreign Data Tables en indiquant que le mot de passe n'est pas requis :<code bash> |
| sudo -u postgres -s psql -d $db_name -c "CREATE USER MAPPING FOR $owner_atlas SERVER geonaturedbserver OPTIONS (user '$atlas_source_user', password_required 'false') ;" &>> log/install_db.log | sudo -u postgres -s psql -d $db_name -c "CREATE USER MAPPING FOR $owner_atlas SERVER geonaturedbserver OPTIONS (user '$atlas_source_user', password_required 'false') ;" &>> log/install_db.log |
| </code> | </code> |
| * Sur l'hôte l'utilisateur du container créant le socket correspond à l'utilisateur dont l'id vaut 999 (''systemd-coredump'' | ''systemd-timesync''). <todo>Il faudrait voir à utiliser l'utilisateur système "postgres"...</todo> | * Sur l'hôte l'utilisateur du container créant le socket correspond à l'utilisateur dont l'id vaut 999 (''systemd-coredump'' | ''systemd-timesync''). <todo>Il faudrait voir à utiliser l'utilisateur système "postgres"...</todo> |
| * Assurerez vous que le fichier ''docker-compose.yml'' de la préprod lançant la base Postgres créé bien un mapping du dossier suivant''- /var/log/postgesql/:/var/log/postgresql'' | * Assurez vous que le fichier ''docker-compose.yml'' de la préprod lançant la base Postgres créé bien un mapping du dossier suivant''- /var/log/postgesql/:/var/log/postgresql'' |
| * Vérifier également que Postgresql dans le container est bien lancé avec les paramètres de config suivant :<code properties> | * Vérifier également que Postgresql dans le container est bien lancé avec les paramètres de config suivant :<code properties> |
| # Log | # Log |