Erreur modification mot de passe lors de la construction du conteneur Postgres

Après l’installation réussie de postgres dans le conteneur, le script de lancement tente de changer le mot de passe de l’utilisateur discourse. Cependant, j’obtiens cette erreur :

Pups::ExecError: su - postgres -c 'psql discourse' a échoué avec le retour #<Process::Status: pid 100 exit 141>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {"stdin"=>"alter user discourse with password 'redacted';\n", "cmd"=>"su - postgres -c 'psql discourse'", "raise_on_fail"=>true}
bootstrap a échoué avec le code de sortie 141
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.

Il semble que postgres ne soit pas en cours d’exécution lorsque cette commande est atteinte, il échoue donc dans un “broken pipe”. Mon postgres.yml est basé sur le fichier d’exemple data.yml, donc je ne suis pas sûr de ce que je fais mal. Des idées ?

Voudriez-vous s’il vous plaît

Et les partager ici ?

1 « J'aime »

Salut, rien de notable dans les journaux précédents, mais j’ai remarqué ce message dans les journaux du conteneur

2024-01-26 12:30:54 I, [2024-01-26T17:30:54.465403 #1]  INFO -- : Reading from stdin
2024-01-26 12:30:54 /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/config.rb:22:in `block in initialize': undefined method `has_key?' for nil:NilClass (NoMethodError)
2024-01-26 12:30:54 
2024-01-26 12:30:54         @config[key] = {} unless @config.has_key?(key)
2024-01-26 12:30:54                                         ^^^^^^^^^
2024-01-26 12:30:54     from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/config.rb:21:in `each'
2024-01-26 12:30:54     from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/config.rb:21:in `initialize'
2024-01-26 12:30:54     from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/cli.rb:68:in `new'
2024-01-26 12:30:54     from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/cli.rb:68:in `run'
2024-01-26 12:30:54     from /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/bin/pups:9:in `<top (required)>'
2024-01-26 12:30:54     from /usr/local/bin/pups:25:in `load'
2024-01-26 12:30:54     from /usr/local/bin/pups:25:in `<main>'

Cela fait planter le conteneur même avec la modification du mot de passe after_postgres commentée, ce qui explique le pipe brisé.