[Résolu] install 1.1.0 : erreur création admin échoue, database Geolite-city.mmdb mal renseigné

J’ai reproduis la procédure d’installation « source » qui ne m’avait pas posé de problème pour la version 1.0.x mais cette fois-ci avec la 1.1.0.
Installation dans un conteneur Proxmox / Debian 10 / 2 Go Ram
Je rencontre une erreur lors de la création d’un compte admin documentée ici :

https://docs.joinmobilizon.org/administration/install/source/#creating-your-first-user

Commande lancée dans /home/mobillizon/live avec l’utilisateur mobilizon :

 MIX_ENV=prod mix mobilizon.users.new "monadresse@email.fr" --admin --password "monmotdepasse"

Et les erreurs renvoyées sont :

23:57:48.126 [info]  Source for database :city not found: "/var/lib/mobilizon/geo/GeoLite2-City.mmdb"

23:57:48.451 [error] Failed to start Ranch listener Mobilizon.Web.Endpoint.HTTP in :ranch_tcp:listen([{:cacerts, :...}, {:key, :...}, {:cert, :...}, :inet6, {:port, 4000}, {:ip, {0, 0, 0, 0, 0, 0, 0, 1}}]) for reason :eaddrinuse (address already in use)


23:57:48.485 [info]  Application mobilizon exited: Mobilizon.start(:normal, []) returned an error: shutdown: failed to start child: Mobilizon.Web.Endpoint
    ** (EXIT) shutdown: failed to start child: {:ranch_listener_sup, Mobilizon.Web.Endpoint.HTTP}
        ** (EXIT) shutdown: failed to start child: :ranch_acceptors_sup
            ** (EXIT) {:listen_error, Mobilizon.Web.Endpoint.HTTP, :eaddrinuse}

Puis beaucoup de lignes du type :
23:57:48.501 [info] Application sentry exited: :stopped

23:57:48.501 [info] Application ex_cldr_languages exited: :stopped

23:57:48.501 [info] Application remote_ip exited: :stopped

23:57:48.501 [info] Application sitemapper exited: :stopped

23:57:48.501 [info] Application tesla exited: :stopped

23:57:48.501 [info] Application ecto_shortuuid exited: :stopped

Puis à la fin :

23:57:48.517 [info]  Application runtime_tools exited: :stopped
** (MatchError) no match of right hand side value: {:error, {:mobilizon, {{:shutdown, {:failed_to_start_child, Mobilizon.Web.Endpoint, {:shutdown, {:failed_to_start_child, {:ranch_listener_sup, Mobilizon.Web.Endpoint.HTTP}, {:shutdown, {:failed_to_start_child, :ranch_acceptors_sup, {:listen_error, Mobilizon.Web.Endpoint.HTTP, :eaddrinuse}}}}}}}, {Mobilizon, :start, [:normal, []]}}}}
    (mobilizon 1.1.0) lib/mix/tasks/mobilizon/common.ex:15: Mix.Tasks.Mobilizon.Common.start_mobilizon/0
    (mobilizon 1.1.0) lib/mix/tasks/mobilizon/users/new.ex:44: Mix.Tasks.Mobilizon.Users.New.run/1
    (mix 1.11.2) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.2) lib/mix/cli.ex:84: Mix.CLI.run_task/2

J’ai installé postgis mais n’ai pas configuré de geocoders.

Mais si je stoppe le service mobilizon et que je relance la commande, ça fonctionne !

A noter que la doc des Databases de Geoloc précise de placer le fichier mmdb dans priv/data/ :

You will need to download the City database and put it into priv/data/GeoLite2-City.mmdb. Finish by restarting the mobilizon service.

alors que le script de création d’admin indique de le mettre ailleurs ?

00:12:32.478 [info] Source for database :city not found: « /var/lib/mobilizon/geo/GeoLite2-City.mmdb »

Et que les dossiers « /var/lib/mobilizon/uploads » et /var/lib/mobilizon/geo/ mentionnés dans config.exs n’existe pas dans la procédure d’installation.

Mes excuses pour le bruit si tout ceci a déjà été signalé.

1 Like