Troubleshootingï
Geotrek-admin logs are stored in /opt/geotrek-admin/var/log/geotrek.log
file.
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):
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, run:
sudo journalctl -u geotrek-ui > systemd-geotrek-ui.log
Frequently encountered problemsï
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 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 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 dehttps://mon-geotrek-admin.fr/trek/1/
). Il faut penser Ă bien transmettre lâen-tĂȘteX-Forwarded-Proto https
.
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 -
Show main packages versionsï
To debug or to report a bug, you can check or provide in issue the main versions of Geotrek-admin and its dependencies:
geotrek check_versions
From docker:
docker compose run --rm web ./manage.py check_versions
Some examples:
geotrek check_versions --full
geotrek check_versions --postgis
Check command help for more options:
geotrek check_versions --help
Comment dĂ©bloquer le bon fonctionnement ?ï
Tout dâabord, vĂ©rifiez que vous utilisez bien les derniĂšres versions des outils screamshotter et convertit.
Pour docker
puis relancer toute lâapplication (down / up)
VĂ©rifiez que lâURL de votre geotrek-admin est accessible depuis le serveur ou le container.
wget https://mon-geotrek-admin.fr/trek/1/
Depuis docker :
La réponse devrait ressembler à une page HTML de connexion.
Si ce nâest pas le cas, vĂ©rifiez lâIP du domaine
ping mon-geotrek-admin.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 ç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 ça au niveau du proxy.