Errore modifica password utente durante la build del container Postgres

Dopo che postgres è stato installato correttamente nel container, lo script di avvio tenta di cambiare la password dell’utente discourse. Tuttavia, ricevo questo errore:

Pups::ExecError: su - postgres -c 'psql discourse' è fallito con ritorno #<Process::Status: pid 100 exit 141>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec è fallito con i parametri {"stdin"=>"alter user discourse with password 'redacted';\n", "cmd"=>"su - postgres -c 'psql discourse'", "raise_on_fail"=>true}
bootstrap fallito con codice di uscita 141
** BOOTSTRAP FALLITO ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.

Sembra che postgres non sia in esecuzione quando viene raggiunto questo comando, quindi fallisce con una pipe interrotta. Il mio postgres.yml si basa sul file di esempio data.yml, quindi non sono sicuro di cosa sto sbagliando. Qualche idea?

Potresti per favore

E poi condividerli qui?

1 Mi Piace

Ciao, niente di degno di nota nei log precedenti, ma ho notato nei log del container questo messaggio

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>'

Questo manda in crash il container anche con l’alterazione della password after_postgres commentata, che è dove entra in gioco la pipe interrotta.