L'aggiornamento da un container molto vecchio fallisce a causa di errori di permesso di postgres

Continuando la discussione da Welcome to nginx! page before rebuild, site won’t rebuild now:

È abbastanza raro, ma quando si esegue l’aggiornamento da un container molto vecchio, i permessi per postgres sono errati (l’UID e il GID di postgres sono cambiati. Per risolverlo è necessario:

chmod -r 101.104 /var/discourse/shared/standalone/postgres_data

L’ho fatto diverse volte. Ho riconosciuto il problema nella mia prima risposta all’argomento collegato, ma capire quali UID/GID siano richiesti non è particolarmente facile per la maggior parte delle persone. (Trova un server funzionante ed esegui ls -ld /var/discourse/shared/standalone/postgres_data.)

3 Mi Piace

[citazione=“pfaffman, post:1, topic:368597”]
Trova un server funzionante ed esegui ls -ld /var/discourse/shared/standalone/postgres_data
[/citazione]

Oppure, più semplice:

○ → docker run --rm discourse/base:2.0.20250226-0128 id postgres
uid=101(postgres) gid=104(postgres) groups=104(postgres),107(ssl-cert)

o anche meglio:

docker run --rm -v /var/discourse/shared/standalone/postgres_data:/data discourse/base:2.0.20250226-0128 chown -R postgres:postgres /data
3 Mi Piace

Questa è il tipo di risposta che amo. Non è quello che molte persone definirebbero “facile”!

Semplicemente non mi viene in mente di eseguire il container “bare”.

1 Mi Piace