BaseAdresseNationale / addok-docker

Conteneurs Addok pour Docker
151 stars 28 forks source link

Installation Mac erreur 500 #24

Closed helori closed 1 year ago

helori commented 2 years ago

Bonjour (et merci pour ce service),

J'ai suivi sans problème les étapes d'installation sur Mac, mais l'appel du service retourne un erreur 500 lorsque la query est présente dans l'url. Sans la query, la requête renvoie comme attendue une erreur 400 : {"title": "Missing query", "description": "Missing query"}. Je ne suis pas familier de Docker... ai-je manqué quelque chose ?

Merci de votre aide !

MacOS 11.4, Docker Compose 2.0.0

jdesboeufs commented 2 years ago

Désolé pour le délai. La question est-elle toujours d'actualité ?

SamG92 commented 1 year ago

Bonjour,

J'ai le même souci ci-dessus sur un MacOS 12.6 avec Docker compose v2.12.0.

@Helori : comment l'aviez vous résolu ?

Voici le message d'erreur: 172.21.0.1 - - [22/Oct/2022:11:52:13 +0000] "GET /search?q=test HTTP/1.1" 500 0 "-" "-" addok_1 | 172.21.0.1 - - [22/Oct/2022:11:52:31 +0000] "GET /search? HTTP/1.1" 400 121 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36" addok_1 | [2022-10-22 11:52:39 +0000] [28] [ERROR] Error handling request /search?q=168+rue+de+javel+paris addok_1 | Traceback (most recent call last): addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 484, in connect addok_1 | sock = self._connect() addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 511, in _connect addok_1 | socket.SOCK_STREAM): addok_1 | File "/usr/local/lib/python3.7/socket.py", line 752, in getaddrinfo addok_1 | for res in _socket.getaddrinfo(host, port, family, type, proto, flags): addok_1 | socket.gaierror: [Errno -2] Name or service not known addok_1 | addok_1 | During handling of the above exception, another exception occurred: addok_1 | addok_1 | Traceback (most recent call last): addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 667, in execute_command addok_1 | connection.send_command(args) addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 610, in send_command addok_1 | self.send_packed_command(self.pack_command(args)) addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 585, in send_packed_command addok_1 | self.connect() addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 489, in connect addok_1 | raise ConnectionError(self._error_message(e)) addok_1 | redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name or service not known. addok_1 | addok_1 | During handling of the above exception, another exception occurred: addok_1 | addok_1 | Traceback (most recent call last): addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 484, in connect addok_1 | sock = self._connect() addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 511, in _connect addok_1 | socket.SOCK_STREAM): addok_1 | File "/usr/local/lib/python3.7/socket.py", line 752, in getaddrinfo addok_1 | for res in _socket.getaddrinfo(host, port, family, type, proto, flags): addok_1 | socket.gaierror: [Errno -2] Name or service not known addok_1 | addok_1 | During handling of the above exception, another exception occurred: addok_1 | addok_1 | Traceback (most recent call last): addok_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 134, in handle addok_1 | self.handle_request(listener, req, client, addr) addok_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 175, in handle_request addok_1 | respiter = self.wsgi(environ, resp.start_response) addok_1 | File "/usr/local/lib/python3.7/site-packages/falcon/api.py", line 227, in call addok_1 | responder(req, resp, params) addok_1 | File "/usr/local/lib/python3.7/site-packages/addok/http/base.py", line 134, in on_get addok_1 | lat=lat, lon=lon, filters) addok_1 | File "/usr/local/lib/python3.7/site-packages/addok/core.py", line 331, in search addok_1 | return helper(query, lat=lat, lon=lon, *filters) addok_1 | File "/usr/local/lib/python3.7/site-packages/addok/core.py", line 158, in call addok_1 | func(self) addok_1 | File "/usr/local/lib/python3.7/site-packages/addok/helpers/search.py", line 21, in search_tokens addok_1 | token.search() addok_1 | File "/usr/local/lib/python3.7/site-packages/addok/helpers/text.py", line 47, in search addok_1 | if DB.exists(self.key): addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 951, in exists addok_1 | return self.execute_command('EXISTS', name) addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 673, in execute_command addok_1 | connection.send_command(args) addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 610, in send_command addok_1 | self.send_packed_command(self.pack_command(*args)) addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 585, in send_packed_command addok_1 | self.connect() addok_1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 489, in connect addok_1 | raise ConnectionError(self._error_message(e)) addok_1 | redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name or service not known.

Merci d'avance pour votre aide !

jdesboeufs commented 1 year ago

Le service addok ne semble pas en mesure de se connecter à redis.

SamG92 commented 1 year ago

Effectivement. J'ai lu sur l'autre forum que le service redis ne se lançait pas sur macbook M1 (arm64). Sur l'autre forum, vous indiquiez d'utiliser le mode compatibilité amd64 pour docker. J'ai essayé d'indiquer linux/amd64 comme plateforme dans le fichier docker-compose.yml mais ça ne fonctionne pas. Savez-vous comment d'autres personnes ont fait dans ce cas ? Merci !!

jdesboeufs commented 1 year ago

Il n'y a pas de soucis pour lancer redis sur Apple Silicon. Je vais voir pour republier des images Linux et Apple Silicon ASAP.

SamG92 commented 1 year ago

Ah super, un grand merci par avance !

jdesboeufs commented 1 year ago

Les images sont publiées. Enjoy ;) Il n'y a rien à faire de particulier, si ce n'est récupérer les images à jour.

SamG92 commented 1 year ago

Merci !! Je teste de ce pas :-)

SamG92 commented 1 year ago

Rebonjour,

Je viens de réinstaller en suivant vos instructions mais malheureusement, redis ne se lance toujours pas sur mac M1. J'ai toujours l'erreur:

"geocoding-addok-redis-1 | runtime: failed to create new OS thread (have 2 already; errno=22) geocoding-addok-redis-1 | fatal error: newosproc"

Si je force la plateforme à linux/arm64, j'ai l'erreur suivante en lançant docker-compose up :

"[+] Running 1/0 ⠿ Network geocoding_default Created 0.0s ⠋ Container geocoding-addok-redis-1 Creating 0.0s Error response from daemon: image with reference etalab/addok-redis was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64"

Une idée de l'origine du problème ?

merci

jdesboeufs commented 1 year ago

Je pense que votre image locale n'est pas à jour. Si Docker Hub vous pouvez constater que l'image existe bien en linux/arm64.