Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falló con retorno

Estoy recibiendo el siguiente error cuando intenté ejecutar ./launcher rebuild app

FAILED

Pups::ExecError: su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’ falló con retorno #<Process::Status: pid 54 exit 2>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’
exec falló con los parámetros “su postgres -c ‘psql $db_name -c \"alter schema public owner to $db_user;\"’”
bootstrap falló con el código de salida 2
** FALLÓ EL ARRANQUE ** por favor desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
4079c40b96373f2f33049a30414bc383bdb52a1a678a9f0cc9f7

Originally sent in general
Ratnam_Raju_Varsala

Hola @Canapin, ¿cómo puedo integrar plugins en una aplicación Docker?

Heliosurge
Ratnam_Raju_Varsala

FALLIDO
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falló con retorno #<Process::Status: pid 54 exit 2>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falló con los parámetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
falló el arranque con el código de salida 2
** FALLÓ EL ARRANQUE ** por favor, desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
4079c40b96373f2f33049a30414bc383bdb52a1a678a9f0cc9f7
root@community-online:/var/discourse# /discourse-doctor
-bash: /discourse-doctor: No existe el archivo o el directorio
Estoy recibiendo este error después de agregar un plugin en el archivo app.yml

Heliosurge

¿Puedes publicar esa sección de tu app.yml donde agregaste el plugin en docker?

Debes asegurarte de que el formato sea muy preciso.
Es un poco molesto, pero generalmente solo se instalan y reconstruyen 2 plugins a la vez.
¿Qué plugin estás intentando instalar?

Ratnam_Raju_Varsala

El sitio funcionaba bien hasta que se agregó el plugin, después de agregar esto, el sitio está caído.

Heliosurge

Elimina parte de tu publicación de chat. Tienes información sensible. Solo necesitas la sección donde dice cosas como $home e información del plugin.

Tienes tus plugins de botones de comercio agregados dos veces. Elimina ambas instancias e intenta una reconstrucción y ve si el sitio se restaura.
Solo necesitas de aquí hacia abajo si el chat lo permite, envuélvelo con algo como ´´ .... ´´

Ratnam_Raju_Varsala

no, no agregado dos veces
solo pego aquí el contenido completo de app.yml

JammyDodger

Creo que esto se discutiría mejor en el tema. Moveré estos mensajes. :+1:

Ratnam_Raju_Varsala

eliminado

Heliosurge

genial jam. ¿puedes eliminar su información sensible para que solo quede la información del plugin?

2 Me gusta

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 -- : Reemplazando data_directory = '/var/lib/postgresql/13/main' con data_directory = '/shared/postgres_data' en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.940639 #1]  INFO -- : Reemplazando (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.941061 #1]  INFO -- : Reemplazando (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.941491 #1]  INFO -- : Reemplazando (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.941859 #1]  INFO -- : Reemplazando (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.942208 #1]  INFO -- : Reemplazando (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' en /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 -- : Reemplazando (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.945805 #1]  INFO -- : Reemplazando (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.946227 #1]  INFO -- : Reemplazando (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement en /etc/postgresql/13/main/postgresql.conf
I, [2023-02-11T18:58:30.946605 #1]  INFO -- : Reemplazando (?-mix:^#local +replication +postgres +peer$) con local replication postgres  peer en /etc/postgresql/13/main/pg_hba.conf
I, [2023-02-11T18:58:30.946992 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 en /etc/postgresql/13/main/pg_hba.conf
I, [2023-02-11T18:58:30.947317 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*::1\\/128.*$) con host all all ::/0 md5 en /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:  el directorio de datos \"/shared/postgres_data\" tiene permisos no válidos
2023-02-11 18:58:30.959 UTC [42] DETAIL:  Los permisos deben ser u=rwx (0700) o 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: no se pudo conectar a la base de datos template1: conexión al servidor en el socket \"/var/run/postgresql/.s.PGSQL.5432\" fallida: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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: conexión al servidor en el socket \"/var/run/postgresql/.s.PGSQL.5432\" fallida: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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: conexión al servidor en el socket \"/var/run/postgresql/.s.PGSQL.5432\" fallida: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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: conexión al servidor en el socket \"/var/run/postgresql/.s.PGSQL.5432\" fallida: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando conexiones en ese socket?
I, [2023-02-11T18:58:36.120285 #1]  INFO -- : 
I, [2023-02-11T18:58:36.120682 #1]  INFO -- : \u003e Terminando procesos asíncronos
FAILED
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c \"alter schema public owner to discourse;\"' falló con retorno #\u003cProcess::Status: pid 54 exit 2\u003e
Ubicación del fallo: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falló con los parámetros \"su postgres -c 'psql $db_name -c \\\"alter schema public owner to $db_user;\\\"'\"
falló el arranque con el código de salida 2
** FALLÓ EL ARRANQUE ** por favor desplácese hacia arriba y busque mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
4c2225e9c667f9fc2b7b4f9bd26c03f243e877b123be1d41a3c57bf90c049595

Al agregar un plugin, querrá copiar y posicionar el código como el anterior. Creo que no hay espacios entre líneas.

También verifique que el plugin que desea usar todavía sea compatible.

¿Puedes publicar el enlace de ese plugin? No estoy familiarizado con ese si es de mano. Sería mejor si también tuviera un enlace aquí en Discourse.

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

Eliminé el plugin e intenté reconstruirlo, pero después de eliminar el plugin, me aparece este error, antes funcionaba bien.

I, [2023-02-11T18:58:30.949060 #1] INFO – : \u003e sleep 5

2023-02-11 18:58:30.959 UTC [42] FATAL: el directorio de datos «/shared/postgres_data» tiene permisos no válidos

2023-02-11 18:58:30.959 UTC [42] DETAIL: Los permisos deben ser u=rwx (0700) o 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: no se pudo conectar a la base de datos template1: la conexión al servidor en el socket «/var/run/postgresql/.s.PGSQL.5432» falló: No existe tal archivo o directorio

¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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: la conexión al servidor en el socket «/var/run/postgresql/.s.PGSQL.5432» falló: No existe tal archivo o directorio

¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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: la conexión al servidor en el socket «/var/run/postgresql/.s.PGSQL.5432» falló: No existe tal archivo o directorio

¿Está el servidor ejecutándose localmente y aceptando conexiones en ese 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: la conexión al servidor en el socket «/var/run/postgresql/.s.PGSQL.5432» falló: No existe tal archivo o directorio

¿Está el servidor ejecutándose localmente y aceptando conexiones en ese socket?

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

I, [2023-02-11T18:58:36.120682 #1] INFO – : Terminando procesos asíncronos

FAILED


Pups::ExecError: su postgres -c ‘psql discourse -c "alter schema public owner to discourse;"’ falló con retorno #\u003cProcess::Status: pid 54 exit 2\u003e

Ubicación del fallo: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’

exec falló con los parámetros “su postgres -c ‘psql $db_name -c \"alter schema public owner to $db_user;\"’”

bootstrap falló con el código de salida 2

** FALLÓ EL ARRANQUE ** por favor desplácese hacia arriba y busque mensajes de error anteriores, puede haber más de uno.

./discourse-doctor puede ayudar a diagnosticar el problema.

4c2225e9c667f9fc2b7b4f9bd26c03f243e877b123be1d41a3c57bf90c049595

No estoy completamente seguro del procedimiento, pero es posible que puedas cargar el sitio en modo seguro.

@JammyDodger, ¿puedes enlazar el procedimiento para el modo seguro?

¿Has visto mi archivo de registro?

Como puedes ver, “modo seguro” se convierte automáticamente en un enlace al tutorial del modo seguro :slight_smile:

2 Me gusta

Genial, gracias. Mis disculpas. ¿Puedes ver algo que pueda estar causando este problema? ¿Quizás un problema de formato en app.yml?

extracto del tema modo seguro.

2023-02-11 19:20:40.842 UTC [42] FATAL: el directorio de datos «/shared/postgres_data» tiene permisos no válidos
2023-02-11 19:20:40.842 UTC [42] DETAIL: Los permisos deben ser u=rwx (0700) o 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: error: no se puede conectar a la base de datos template1: la conexión al servidor en el socket «/var/run/postgresql/.s.PGSQL.5432» falló: No existe tal archivo o directorio
¿Está el servidor ejecutándose localmente y aceptando conexiones en ese socket?

Es posible que necesites desplazarte hacia arriba. ¿Has probado el procedimiento de modo seguro?

No estoy seguro de si funcionará en este caso o no, para ser honesto.

Sitio completamente caído, incluso si agregué el modo seguro, no funciona, el sitio caído y la aplicación no se ejecutan.

¿Puedes volver a publicar la sección $plugins goes here de tu app.yml?

solo asegúrate de ponerla dentro de “código” terminando con “/código” reemplaza las comillas con “[” “]”

Tu contenido de app.yml aquí
- no activa markdown

Dan, quité el plugin del archivo app.yml, ya no hay plugin, pero te lo publicaré aquí de nuevo.

volúmenes:

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

Los plugins van aquí

ver Install plugins on a self-hosted site para más detalles

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

Entiendo, pero puede que tengas un error de formato. El archivo app.yml es muy quisquilloso… una sola línea desalineada puede causar problemas.

Por eso mencioné pegar entre el markdown del código para que podamos ver una versión sin procesar de tu archivo.

Incluso algo tan simple como una línea vacía entre líneas puede causar un problema.