La mise à niveau depuis un très ancien conteneur échoue en raison d'erreurs de permission postgres

Continuant la discussion de Page « Bienvenue sur nginx ! » avant la reconstruction, le site ne se reconstruit pas maintenant :

C’est assez rare, mais lors de la mise à niveau à partir d’un très ancien conteneur, les autorisations pour postgres sont incorrectes (l’UID et le GID de postgres ont changé. Pour corriger cela, il faut :

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

Je l’ai fait plusieurs fois. J’ai reconnu le problème dans ma première réponse au sujet lié, mais déterminer quels UID/GID sont requis n’est pas particulièrement facile pour la plupart des gens. (Trouvez un serveur fonctionnel et exécutez ls -ld /var/discourse/shared/standalone/postgres_data.)

3 « J'aime »

Ou, plus simple :

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

ou encore mieux :

docker run --rm -v /var/discourse/shared/standalone/postgres_data:/data discourse/base:2.0.20250226-0128 chown -R postgres:postgres /data
3 « J'aime »

C’est le genre de réponse que j’aime. Ce n’est pas ce que beaucoup de gens appelleraient « facile » !

Je ne pense tout simplement pas à exécuter le conteneur nu.

1 « J'aime »