La restauration de sauvegarde échoue dans un environnement Docker de développement propre : FATAL : échec de l'authentification peer pour l'utilisateur « postgres »

Cela fonctionne pour moi :

Mais il existe plusieurs autres façons de résoudre ce problème parmi lesquelles choisir :

  • ajouter le paramètre d’environnement USER=discourse à l’image de démarrage docker

  • ajouter -e USER=discourse \\ à d\\exec

  • ajouter ceci à backup_restore.rb

      if Rails.env.development?
        username = ENV["USER"] || "discourse"
      end
    

De plus, il y a un nouveau problème lors de l’exécution de d/discourse dans l’environnement de développement docker :

$ d/discourse backup

<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- thor (LoadError)
        from <internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
        from script/discourse:4:in `<main>'

alors que d/bundle exec script/discourse backup fonctionne (voir patch).