Hice lo siguiente:
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
luego copié mi app.yml antiguo en containers e intenté reconstruir la aplicación:
[root@two discourse]# ./launcher rebuild app
Se detectó la arquitectura x86_64.
Asegurando que el lanzador esté actualizado
El lanzador está actualizado
Deteniendo el contenedor antiguo
+ /usr/bin/docker stop -t 600 app
app
2.0.20250722-0020: Extrayendo de discourse/base
Digest: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Status: La imagen está actualizada para discourse/base:2.0.20250722-0020
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-09-12T19:05:09.283821 #1] INFO -- : Leyendo desde stdin
I, [2025-09-12T19:05:09.296585 #1] INFO -- : Archivo > /etc/service/postgres/run chmod: +x chown:
I, [2025-09-12T19:05:09.301579 #1] INFO -- : Archivo > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-09-12T19:05:09.307391 #1] INFO -- : Archivo > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-09-12T19:05:09.313597 #1] INFO -- : Archivo > /root/install_postgres chmod: +x chown:
I, [2025-09-12T19:05:09.319914 #1] INFO -- : Archivo > /root/upgrade_postgres chmod: +x chown:
I, [2025-09-12T19:05:09.320255 #1] INFO -- : Reemplazando data_directory = '/var/lib/postgresql/15/main' con data_directory = '/shared/postgres_data' en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.323526 #1] INFO -- : Reemplazando (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324153 #1] INFO -- : Reemplazando (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324577 #1] INFO -- : Reemplazando (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324945 #1] INFO -- : Reemplazando (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.325369 #1] INFO -- : Reemplazando (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.325759 #1] INFO -- : Reemplazando (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.329467 #1] INFO -- : Reemplazando (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.330304 #1] INFO -- : Reemplazando (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement en /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.330761 #1] INFO -- : Reemplazando (?-mix:^#local +replication +postgres +peer$) con local replication postgres peer en /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.331823 #1] INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 en /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.332230 #1] INFO -- : Reemplazando (?-mix:^host.*all.*all.*::1\/128.*$) con host all all ::/0 md5 en /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.332621 #1] INFO -- : > if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
mkdir: no se puede crear el directorio '/shared/postgres_run': Permiso denegado
chown: no se puede acceder a '/shared/postgres_run': No existe tal archivo o directorio
chmod: no se puede acceder a '/shared/postgres_run': No existe tal archivo o directorio
mkdir: no se puede crear el directorio '/shared/postgres_run': Permiso denegado
chown: no se puede acceder a '/shared/postgres_run/15-main.pg_stat_tmp': No existe tal archivo o directorio
install: no se puede cambiar el propietario y los permisos de '/shared/postgres_data': No existe tal archivo o directorio
initdb: error: no se pudo crear el directorio "/shared/postgres_data": Permiso denegado
find: '/shared/postgres_data': No existe tal archivo o directorio
chown: no se puede acceder a '/var/run/postgresql': No existe tal archivo o directorio
cat: /shared/postgres_data/PG_VERSION: No existe tal archivo o directorio
du: no se puede acceder a '/shared/postgres_data': No existe tal archivo o directorio
/root/upgrade_postgres: línea 7: * 2: error de sintaxis: se esperaba un operando (token de error «* 2»)
I, [2025-09-12T19:05:12.122891 #1] INFO -- : Generando locales (esto puede tardar un poco)...
en_US.UTF-8... listo
Generación completa.
Los archivos pertenecientes a este sistema de bases de datos serán propiedad del usuario "postgres".
Este usuario también debe ser propietario del proceso del servidor.
El clúster de bases de datos se inicializará con la configuración regional "en_US.UTF-8".
Por lo tanto, la codificación predeterminada de la base de datos se ha establecido en "UTF8".
La configuración de búsqueda de texto predeterminada se establecerá en "english".
Las sumas de verificación de páginas de datos están deshabilitadas.
creando directorio /shared/postgres_data ... Actualizando PostgreSQL de la versión a 15
FALLIDO
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
falló con el retorno #<Process::Status: pid 18 exit 1>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec falló con los parámetros {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1\nfi\n"}
fallo de arranque con código de salida 1
** FALLO AL 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.
c9c7badf83b119a15b40255ae48a05182f72663cc870ca85e867c1f9a218bb83
Aparentemente hay un problema de permisos dentro del contenedor desde el principio:
mkdir: no se puede crear el directorio '/shared/postgres_run': Permiso denegado
¿Qué podría estar causando esto?