From e162e3ae25c5cfef25033892d96c14412b77a846 Mon Sep 17 00:00:00 2001 From: J-E Castagnede Date: Wed, 17 Jan 2024 16:33:50 +0100 Subject: [PATCH 1/8] move and improve troubleshouting section --- docs/index.rst | 2 +- docs/install/troubleshooting.rst | 59 ---------------- docs/troubleshooting.rst | 114 +++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+), 60 deletions(-) delete mode 100644 docs/install/troubleshooting.rst create mode 100644 docs/troubleshooting.rst diff --git a/docs/index.rst b/docs/index.rst index 84c4b614a0..7b450f9910 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -24,7 +24,6 @@ Welcome to Geotrek's documentation! :maxdepth: 2 install/installation - install/troubleshooting.rst install/loading-data install/configuration install/advanced-configuration @@ -48,6 +47,7 @@ Welcome to Geotrek's documentation! :caption: Others :maxdepth: 2 + troubleshooting authors changelog diff --git a/docs/install/troubleshooting.rst b/docs/install/troubleshooting.rst deleted file mode 100644 index f2be58e90c..0000000000 --- a/docs/install/troubleshooting.rst +++ /dev/null @@ -1,59 +0,0 @@ -=============== -Troubleshouting -=============== - -Geotrek-admin logs are stored in ``/opt/geotrek-admin/var/log/geotrek.log`` file. - -But if Geotrek-admin does not start, take a look to systemd logs for each of the 3 Geotrek-admin services -(user web interface, API and asynchronous tasks): - -:: - - sudo journalctl -eu geotrek-ui - sudo journalctl -eu geotrek-api - sudo journalctl -eu geotrek-celery - -The output is paginated. With -e option you are at the end of the logs but you can go up an down with arrows. -Type Q to quit. If you want to copy the log to a file, do: - -:: - - sudo journalctl -u geotrek-ui > systemd-geotrek-ui.log - - -Frequent problems encountered ------------------------------ - -Error 500 with `django.db.utils.IntegrityError … NOT NULL for column "language"` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -`django.db.utils.IntegrityError: ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « language »` - -This means specific migrations for translated fields have not been executed on database during update. -You have to run them manually, classical migrations included: - -:: - - geotrek migrate - geotrek sync_translation_fields - geotrek update_translation_fields - geotrek update_geotrek_permissions - geotrek update_post_migration_languages - - -Signature check for debian packages ------------------------------------ - -When you try to upgrade your Geotrek-admin, you can have problems with signature check : - -:: - - An error occurred while checking the signature. - The repository is not updated and previous index files will be used. - GPG error: https://packages.geotrek.fr/ubuntu bionic InRelease: The following signatures are invalid - -You have to update the signature key to get the last update : - -:: - - wget -O- "https://packages.geotrek.fr/geotrek.gpg.key" | sudo apt-key add - diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst new file mode 100644 index 0000000000..86c60003f8 --- /dev/null +++ b/docs/troubleshooting.rst @@ -0,0 +1,114 @@ +=============== +Troubleshouting +=============== + +Geotrek-admin logs are stored in ``/opt/geotrek-admin/var/log/geotrek.log`` file. + +But if Geotrek-admin does not start, take a look to systemd logs for each of the 3 Geotrek-admin services +(user web interface, API and asynchronous tasks): + +:: + + sudo journalctl -eu geotrek-ui + sudo journalctl -eu geotrek-api + sudo journalctl -eu geotrek-celery + +The output is paginated. With -e option you are at the end of the logs but you can go up an down with arrows. +Type Q to quit. If you want to copy the log to a file, do: + +:: + + sudo journalctl -u geotrek-ui > systemd-geotrek-ui.log + + +Frequent problems encountered +----------------------------- + +Error 500 with `django.db.utils.IntegrityError … NOT NULL for column "language"` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`django.db.utils.IntegrityError: ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « language »` + +This means specific migrations for translated fields have not been executed on database during update. +You have to run them manually, classical migrations included: + +:: + + geotrek migrate + geotrek sync_translation_fields + geotrek update_translation_fields + geotrek update_geotrek_permissions + geotrek update_post_migration_languages + +Error 500 with document generation or map capture +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Les captures de carte (utiles entre autre à la génération des documents et aux PDF) utilise un logiciel nommé screamshotter. +Ce logiciel, pilote un navigateur web (chromium, via puppeteer) qui va appeler la page web de geotrek-admin de l'objet dont il doit réaliser une capture de carte. + +ex: https://mon-geotrek-admin.fr/trek/1/ + +Il est donc nécessaire que cette URL lui soit accessible. + +Paquet Debian : + - l'URL utilisée depuis le navigateur (https://mon-geotrek-admin.fr/trek/1/) doit être accessible depuis l'hôte de l'application geotrek-admin. + +Image docker : + - l'URL utilisée depuis le navigateur (https://mon-geotrek-admin.fr/trek/1/) doit être accessible depuis le container de l'application screamshotter (et convertit). + +.. warning:: + Faites attention aux pares-feux, proxy et domaine privés. L'hôte (ou le container docker) doit pouvoir correctement résoudre l'adresse IP du domaine utilisé. + +Sur certaines infrastructures, en particulier en entreprise ou derrière certains proxy, il se peut que la configuration de base empêche le bon fonctionnement. + +**Exemple :** + +- l'IP derriere le domaine demo-admin.geotrek.fr depuis mon poste de travail est 88.77.66.55, il s'affiche bien, mais depuis le serveur c'est 172.16.0.10, les captures de carte ne fonctionnent pas. Il faut jouer avec la configuration de la machine, les serveurs DNS, les paramètres network/alias ou extra_hosts du docker-compose.yml afin de le rendre accéssible. +- le Proxy qui gère les certificats SSL ne transmet pas les bons en-tête à geotrek-admin. De ce fait, geotrek-admin pense tourner en http et génère des url en http:// à screamshotter (ex: prend une capture de http://mon-geotrek-admin.fr/trek/1/ au lieu de https://mon-geotrek-admin.fr/trek/1/). Il faut penser à bien transmettre l'en-tête **X-Forwarded-Proto https** . + +Comment débloquer le bon fonctionnement ? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Tout d'abord, vérifiez que l'URL de votre geotrek-admin est accessible depuis le serveur ou le container. + +.. code-block :: bash + + wget https://mon-geotrek-admin.fr/trek/1/ + + +la réponse devrait ressemble à une page html de login. + +Si ce n'est pas le cas, vérifiez l'IP du domaine + +.. code-block :: bash + + ping demo-admin.geotrek.fr + + +La réponse doit être une IP publique, idéalement la même que depuis votre poste de travail. + +Testez la capture de carte depuis geotrek-admin, sur une carte, le bouton avec un appareil photo. + +Si çà ne fonctionne pas, vérifiez le message d'erreur : + +Request on http://screamshotter:8000/?url=http%3A//mon-geotrek-admin.fr/trek/1/xxxx failed (status=500) + +On peut voir que l'URL est **http** et non **https**, c'est un problème d'en-tête non transmis. Il faut régler çà au niveau du proxy. + + +Signature check for debian packages +----------------------------------- + +When you try to upgrade your Geotrek-admin, you can have problems with signature check : + +:: + + An error occurred while checking the signature. + The repository is not updated and previous index files will be used. + GPG error: https://packages.geotrek.fr/ubuntu bionic InRelease: The following signatures are invalid + +You have to update the signature key to get the last update : + +:: + + wget -O- "https://packages.geotrek.fr/geotrek.gpg.key" | sudo apt-key add - From 86cb4db7e73ed9c3792ee79c3df6fee837819431 Mon Sep 17 00:00:00 2001 From: J-E Castagnede Date: Wed, 17 Jan 2024 16:43:03 +0100 Subject: [PATCH 2/8] improve docker help --- docs/troubleshooting.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 86c60003f8..a82d9b4f3b 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -76,6 +76,14 @@ Tout d'abord, vérifiez que l'URL de votre geotrek-admin est accessible depuis l wget https://mon-geotrek-admin.fr/trek/1/ +Depuis docker : + +.. code-block :: bash + + docker compose run --user root --rm screamshotter bash + wget https://mon-geotrek-admin.fr/trek/1/ + + la réponse devrait ressemble à une page html de login. Si ce n'est pas le cas, vérifiez l'IP du domaine From 07eae417bd485e5ef1d7cc9c7e12d1fbf86efdcf Mon Sep 17 00:00:00 2001 From: J-E Castagnede Date: Wed, 17 Jan 2024 16:53:42 +0100 Subject: [PATCH 3/8] typo --- docs/troubleshooting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index a82d9b4f3b..adcc07c94c 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -84,7 +84,7 @@ Depuis docker : wget https://mon-geotrek-admin.fr/trek/1/ -la réponse devrait ressemble à une page html de login. +la réponse devrait ressembler à une page HTML de connexion. Si ce n'est pas le cas, vérifiez l'IP du domaine From 22de1fda8c45b7b2a75aadf60bd9a92cb0853131 Mon Sep 17 00:00:00 2001 From: J-E Castagnede Date: Wed, 17 Jan 2024 16:54:14 +0100 Subject: [PATCH 4/8] change bad domain --- docs/troubleshooting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index adcc07c94c..c71789ca3f 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -90,7 +90,7 @@ Si ce n'est pas le cas, vérifiez l'IP du domaine .. code-block :: bash - ping demo-admin.geotrek.fr + ping mon-geotrek-admin.fr La réponse doit être une IP publique, idéalement la même que depuis votre poste de travail. From c273e594fd7693bfe016d61d38383c6446e0ec41 Mon Sep 17 00:00:00 2001 From: J-E Castagnede Date: Wed, 17 Jan 2024 16:57:46 +0100 Subject: [PATCH 5/8] add screamshotter / convertit update section --- docs/troubleshooting.rst | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index c71789ca3f..1cb77058a4 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -69,7 +69,26 @@ Sur certaines infrastructures, en particulier en entreprise ou derrière certain Comment débloquer le bon fonctionnement ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Tout d'abord, vérifiez que l'URL de votre geotrek-admin est accessible depuis le serveur ou le container. +Tout d'abord, vérifiez que vous utilisez bien les dernières versions des outils screamshotter et convertit. + + +.. code-block :: bash + + sudo apt update + sudo apt install screamshotter convertit + + +Pour docker + +.. code-block :: bash + + docker compose pull screamshotter + docker compose pull convertit + +puis relancer toute l'application (down / up) + + +Vérifiez que l'URL de votre geotrek-admin est accessible depuis le serveur ou le container. .. code-block :: bash From 4d78190c43a59e35350adcb301eb082583738616 Mon Sep 17 00:00:00 2001 From: Jean-Etienne Castagnede Date: Thu, 18 Jan 2024 15:00:45 +0100 Subject: [PATCH 6/8] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Célia --- docs/troubleshooting.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 1cb77058a4..36cc90ae92 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -4,7 +4,7 @@ Troubleshouting Geotrek-admin logs are stored in ``/opt/geotrek-admin/var/log/geotrek.log`` file. -But if Geotrek-admin does not start, take a look to systemd logs for each of the 3 Geotrek-admin services +But if Geotrek-admin does not start, take a look at systemd logs for each of the 3 Geotrek-admin services (user web interface, API and asynchronous tasks): :: @@ -21,7 +21,7 @@ Type Q to quit. If you want to copy the log to a file, do: sudo journalctl -u geotrek-ui > systemd-geotrek-ui.log -Frequent problems encountered +Frequently encountered problems ----------------------------- Error 500 with `django.db.utils.IntegrityError … NOT NULL for column "language"` @@ -57,14 +57,14 @@ Image docker : - l'URL utilisée depuis le navigateur (https://mon-geotrek-admin.fr/trek/1/) doit être accessible depuis le container de l'application screamshotter (et convertit). .. warning:: - Faites attention aux pares-feux, proxy et domaine privés. L'hôte (ou le container docker) doit pouvoir correctement résoudre l'adresse IP du domaine utilisé. + Faites attention aux pare-feux, proxy et domaines privés. L'hôte (ou le container docker) doit pouvoir correctement résoudre l'adresse IP du domaine utilisé. Sur certaines infrastructures, en particulier en entreprise ou derrière certains proxy, il se peut que la configuration de base empêche le bon fonctionnement. **Exemple :** -- l'IP derriere le domaine demo-admin.geotrek.fr depuis mon poste de travail est 88.77.66.55, il s'affiche bien, mais depuis le serveur c'est 172.16.0.10, les captures de carte ne fonctionnent pas. Il faut jouer avec la configuration de la machine, les serveurs DNS, les paramètres network/alias ou extra_hosts du docker-compose.yml afin de le rendre accéssible. -- le Proxy qui gère les certificats SSL ne transmet pas les bons en-tête à geotrek-admin. De ce fait, geotrek-admin pense tourner en http et génère des url en http:// à screamshotter (ex: prend une capture de http://mon-geotrek-admin.fr/trek/1/ au lieu de https://mon-geotrek-admin.fr/trek/1/). Il faut penser à bien transmettre l'en-tête **X-Forwarded-Proto https** . +- l'IP derriere le domaine demo-admin.geotrek.fr depuis mon poste de travail est 88.77.66.55, il s'affiche bien, mais depuis le serveur c'est 172.16.0.10, les captures de carte ne fonctionnent pas. Il faut jouer avec la configuration de la machine, les serveurs DNS, les paramètres network/alias ou extra_hosts du docker-compose.yml afin de le rendre accessible. +- le Proxy qui gère les certificats SSL ne transmet pas les bons en-têtes à geotrek-admin. De ce fait, geotrek-admin pense tourner en http et génère des url en http:// à screamshotter (ex: prend une capture de http://mon-geotrek-admin.fr/trek/1/ au lieu de https://mon-geotrek-admin.fr/trek/1/). Il faut penser à bien transmettre l'en-tête **X-Forwarded-Proto https** . Comment débloquer le bon fonctionnement ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,11 +116,11 @@ La réponse doit être une IP publique, idéalement la même que depuis votre po Testez la capture de carte depuis geotrek-admin, sur une carte, le bouton avec un appareil photo. -Si çà ne fonctionne pas, vérifiez le message d'erreur : +Si ça ne fonctionne pas, vérifiez le message d'erreur : Request on http://screamshotter:8000/?url=http%3A//mon-geotrek-admin.fr/trek/1/xxxx failed (status=500) -On peut voir que l'URL est **http** et non **https**, c'est un problème d'en-tête non transmis. Il faut régler çà au niveau du proxy. +On peut voir que l'URL est **http** et non **https**, c'est un problème d'en-tête non transmis. Il faut régler ça au niveau du proxy. Signature check for debian packages From b3f8077a32320b03c06fe6c6e7690fcb12637284 Mon Sep 17 00:00:00 2001 From: Jean-Etienne Castagnede Date: Fri, 19 Jan 2024 09:56:24 +0100 Subject: [PATCH 7/8] Update docs/troubleshooting.rst --- docs/troubleshooting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 36cc90ae92..944756b2ad 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -22,7 +22,7 @@ Type Q to quit. If you want to copy the log to a file, do: Frequently encountered problems ------------------------------ +------------------------------- Error 500 with `django.db.utils.IntegrityError … NOT NULL for column "language"` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From adebb33e5d5bfff402eff1a5f1ef76b982509011 Mon Sep 17 00:00:00 2001 From: Jean-Etienne Castagnede Date: Fri, 19 Jan 2024 09:59:22 +0100 Subject: [PATCH 8/8] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Célia --- docs/troubleshooting.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 944756b2ad..cd1a89cdae 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -14,7 +14,7 @@ But if Geotrek-admin does not start, take a look at systemd logs for each of the sudo journalctl -eu geotrek-celery The output is paginated. With -e option you are at the end of the logs but you can go up an down with arrows. -Type Q to quit. If you want to copy the log to a file, do: +Type Q to quit. If you want to copy the log to a file, run: ::