Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' a échoué avec le retour

Je rencontre l’erreur suivante lorsque j’essaie d’exécuter ./launcher rebuild app

FAILED

Pups::ExecError: su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’ a échoué avec le retour #<Process::Status: pid 54 exit 2>
Emplacement de l’échec : /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’
exec a échoué avec les paramètres “su postgres -c ‘psql $db_name -c \"alter schema public owner to $db_user;\"’”
bootstrap a échoué avec le code de sortie 2
** É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.
./discourse-doctor peut aider à diagnostiquer le problème.
4079c40b96373f2f33049a30414bc383bdb52a1a678a9f0cc9f7

Originally sent in general
Ratnam_Raju_Varsala

Salut @Canapin, comment puis-je intégrer des plugins dans une application Docker ?

Heliosurge
Ratnam_Raju_Varsala

ÉCHEC
--------------------

Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' a échoué avec le retour #<Process::Status: pid 54 exit 2>

Emplacement de l'échec : /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'

exec a échoué avec les paramètres "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"

bootstrap a échoué avec le code de sortie 2

É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.

./discourse-doctor peut aider à diagnostiquer le problème.

4079c40b96373f2f33049a30414bc383bdb52a1a678a9f0cc9f7

root@community-online:/var/discourse# /discourse-doctor

-bash: /discourse-doctor : Aucun fichier ou dossier de ce type

j'obtiens cette erreur après avoir ajouté un plugin dans le fichier app.yml

Heliosurge

pouvez-vous poster cette section de votre app.yml où vous avez ajouté le plugin sous docker ?

Vous devez vous assurer que le formatage est très précis.
C'est un peu pénible mais généralement, on n'installe et on ne reconstruit que 2 plugins à la fois.
Quel plugin essayez-vous d'installer ?

Ratnam_Raju_Varsala

Le site fonctionnait bien jusqu'à l'ajout du plugin, après l'ajout de cette erreur, le site est en panne

Heliosurge

Supprimez une partie de votre message de chat. Vous avez des informations sensibles. Il ne faut que la section où il est indiqué $home et les informations sur le plugin.

Vous avez vos plugins de boutons de commerce ajoutés deux fois. Supprimez les deux instances et essayez une reconstruction et voyez si le site est restauré.

Il ne faut que ceci vers le bas si le chat le permet, enveloppez-le avec quelque chose comme ´´ .... ´´

Ratnam_Raju_Varsala

non, pas ajouté deux fois

je colle juste ici le contenu complet de app.yml après achèvement

JammyDodger

Je pense que cela serait mieux discuté dans le sujet. Je vais déplacer ces messages. :+1:

Ratnam_Raju_Varsala

supprimé

Heliosurge

cool jam. peux-tu supprimer ses informations sensibles pour qu'il ne reste que les informations sur le plugin ?

2 « J'aime »

I, [2023-02-11T18:58:30.914906 #1]  INFO -- : \u003e [ ! -e /shared/postgres_data ] \u0026\u0026 install -d -m 0755 -o postgres -g postgres /shared/postgres_data \u0026\u0026 sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2023-02-11T18:58:30.917342 #1]  INFO -- : 
I, [2023-02-11T18:58:30.917415 #1]  INFO -- : \u003e chown -R postgres:postgres /shared/postgres_data
I, [2023-02-11T18:58:30.930655 #1]  INFO -- : 
I, [2023-02-11T18:58:30.930872 #1]  INFO -- : \u003e chown -R postgres:postgres /var/run/postgresql
I, [2023-02-11T18:58:30.933165 #1]  INFO -- : 
I, [2023-02-11T18:58:30.933384 #1]  INFO -- : \u003e /root/upgrade_postgres
I, [2023-02-11T18:58:30.937415 #1]  INFO -- : 
I, [2023-02-11T18:58:30.937665 #1]  INFO -- : \u003e rm /root/upgrade_postgres
I, [2023-02-11T18:58:30.939673 #1]  INFO -- : 
I, [2023-02-11T18:58:30.940012 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.940639 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.941061 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.941491 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.941859 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.942208 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.942546 #1]  INFO -- : \u003e install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2023-02-11T18:58:30.945002 #1]  INFO -- : 
I, [2023-02-11T18:58:30.945405 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.945805 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.946227 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.946605 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2023-02-11T18:58:30.946992 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-02-11T18:58:30.947317 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2023-02-11T18:58:30.947660 #1]  INFO -- : \u003e HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2023-02-11T18:58:30.949060 #1]  INFO -- : \u003e sleep 5
2023-02-11 18:58:30.959 UTC [42] FATAL:  data directory "/shared/postgres_data" has invalid permissions
2023-02-11 18:58:30.959 UTC [42] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
I, [2023-02-11T18:58:35.952167 #1]  INFO -- : 
I, [2023-02-11T18:58:35.952437 #1]  INFO -- : \u003e su postgres -c 'createdb discourse' || true
createdb: error: could not connect to database template1: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
	Is the server running locally and accepting connections on that socket?
I, [2023-02-11T18:58:35.994953 #1]  INFO -- : 
I, [2023-02-11T18:58:35.995243 #1]  INFO -- : \u003e su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
	Is the server running locally and accepting connections on that socket?
I, [2023-02-11T18:58:36.036721 #1]  INFO -- : 
I, [2023-02-11T18:58:36.037043 #1]  INFO -- : \u003e su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
	Is the server running locally and accepting connections on that socket?
I, [2023-02-11T18:58:36.078384 #1]  INFO -- : 
I, [2023-02-11T18:58:36.078703 #1]  INFO -- : \u003e su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
	Is the server running locally and accepting connections on that socket?
I, [2023-02-11T18:58:36.120285 #1]  INFO -- : 
I, [2023-02-11T18:58:36.120682 #1]  INFO -- : Terminating async processes

FAILED
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' failed with return #\u003cProcess::Status: pid 54 exit 2\u003e
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params "su postgres -c 'psql $db_name -c \\\"alter schema public owner to $db_user;\\\"'"
bootstrap failed with exit code 2
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
4c2225e9c667f9fc2b7b4f9bd26c03f243e877b123be1d41a3c57bf90c049595

Lorsque vous ajoutez un plugin, vous voudrez copier et positionner le code comme celui ci-dessus. Je pense qu’il ne doit pas y avoir d’espaces entre les lignes.

Vérifiez également que le plugin que vous souhaitez utiliser est toujours pris en charge.

Pouvez-vous poster le lien de ce plugin ? Je ne suis pas familier avec celui-ci. Il serait préférable qu’il y ait également un lien ici sur Discourse.

discourse git clone GitHub - jannolii/discourse-topic-trade-buttons

J’ai supprimé le plugin, puis j’ai essayé de le reconstruire, mais après avoir supprimé le plugin, j’obtiens cette erreur, alors qu’avant cela fonctionnait bien.

Je, [2023-02-11T18:58:30.949060 #1] INFO – : > sleep 5

2023-02-11 18:58:30.959 UTC [42] FATAL: le répertoire de données « /shared/postgres_data » a des permissions invalides

2023-02-11 18:58:30.959 UTC [42] DETAIL: Les permissions devraient être u=rwx (0700) ou u=rwx,g=rx (0750).

Je, [2023-02-11T18:58:35.952167 #1] INFO – :

Je, [2023-02-11T18:58:35.952437 #1] INFO – : > su postgres -c ‘createdb discourse’ || true

createdb : erreur : impossible de se connecter à la base de données template1 : la connexion au serveur sur le socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : Aucun fichier ou dossier de ce type

Le serveur est-il en cours d’exécution localement et accepte-t-il les connexions sur ce socket ?

Je, [2023-02-11T18:58:35.994953 #1] INFO – :

Je, [2023-02-11T18:58:35.995243 #1] INFO – : > su postgres -c ‘psql discourse -c “create user discourse;”’ || true

psql : erreur : la connexion au serveur sur le socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : Aucun fichier ou dossier de ce type

Le serveur est-il en cours d’exécution localement et accepte-t-il les connexions sur ce socket ?

Je, [2023-02-11T18:58:36.036721 #1] INFO – :

Je, [2023-02-11T18:58:36.037043 #1] INFO – : > su postgres -c ‘psql discourse -c “grant all privileges on database discourse to discourse;”’ || true

psql : erreur : la connexion au serveur sur le socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : Aucun fichier ou dossier de ce type

Le serveur est-il en cours d’exécution localement et accepte-t-il les connexions sur ce socket ?

Je, [2023-02-11T18:58:36.078384 #1] INFO – :

Je, [2023-02-11T18:58:36.078703 #1] INFO – : > su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’

psql : erreur : la connexion au serveur sur le socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : Aucun fichier ou dossier de ce type

Le serveur est-il en cours d’exécution localement et accepte-t-il les connexions sur ce socket ?

Je, [2023-02-11T18:58:36.120285 #1] INFO – :

Je, [2023-02-11T18:58:36.120682 #1] INFO – : Arrêt des processus asynchrones

ÉCHEC


Pups::ExecError: su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’ a échoué avec le retour #<Process::Status: pid 54 exit 2>

Emplacement de l’échec : /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’

exec a échoué avec les paramètres « su postgres -c ‘psql $db_name -c \"alter schema public owner to $db_user;\"’ »

bootstrap a échoué avec le code de sortie 2

** É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.

./discourse-doctor peut aider à diagnostiquer le problème.

4c2225e9c667f9fc2b7b4f9bd26c03f243e877b123be1d41a3c57bf90c049595

Je ne suis pas tout à fait sûr de la procédure, mais vous pourriez peut-être charger le site en mode sans échec.

@JammyDodger pouvez-vous lier la procédure pour le mode sans échec ?

Avez-vous vu mon fichier journal ?

Comme vous pouvez le voir, « mode sans échec » est automatiquement converti en un lien vers le tutoriel du mode sans échec :slight_smile:

2 « J'aime »

Merci beaucoup. Mes excuses. Canapin, voyez-vous quelque chose qui pourrait causer ce problème ? À tout hasard, peut-être une erreur de formatage dans app.yml ?

extrait du sujet du mode sans échec.

2023-02-11 19:20:40.842 UTC [42] FATAL : le répertoire de données « /shared/postgres_data » a des autorisations invalides
2023-02-11 19:20:40.842 UTC [42] DETAIL : Les autorisations doivent être u=rwx (0700) ou u=rwx,g=rx (0750).
I, [2023-02-11T19:20:45.834611 #1] INFO – :
I, [2023-02-11T19:20:45.834887 #1] INFO – : > su postgres -c ‘createdb discourse’ || true
createdb : erreur : impossible de se connecter à la base de données template1 : la connexion au serveur sur le socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : Aucun fichier ou dossier de ce type
Le serveur s’exécute-t-il localement et accepte-t-il les connexions sur ce socket ?

Vous devrez peut-être faire défiler vers le haut. Avez-vous essayé la procédure en mode sans échec ?

Je ne suis pas sûr que cela fonctionne dans ce cas ou non, pour être honnête.

Site complètement hors service, même en mode sans échec, il ne fonctionne pas, le site est hors service et l’application ne fonctionne pas.

Pouvez-vous republier la section $plugins goes here de votre app.yml ?

assurez-vous simplement de la poster à l’intérieur de “code” se terminant par “/code” remplacez les guillemets par “[” “]”

Votre contenu app.yml ici
- ne déclenche pas markdown

Dan, j’ai supprimé le plugin du fichier app.yml, il n’y a plus de plugin, mais je vous le poste à nouveau ici

volumes:

  • volume:
    host: /var/discourse/shared/standalone
    guest: /shared
  • volume:
    host: /var/discourse/shared/standalone/log/var-log
    guest: /var/log

Les plugins vont ici

voir Install plugins on a self-hosted site pour les détails

hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image

Je comprends, mais vous pourriez avoir une erreur de formatage. Le fichier app.yml est très pointilleux… une seule ligne désalignée peut causer des problèmes.

C’est pourquoi j’ai mentionné de coller entre le markdown de code afin que nous puissions voir une version brute de votre fichier.

Même quelque chose d’aussi simple qu’une ligne vide entre des lignes peut causer un problème.