2023-01-04 20:48:05.355 UTC [41] LOG: démarrage de PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1) sur x86_64-pc-linux-gnu, compilé par gcc (Debian 10.2.1-6) 10.2.1 20210110, 64 bits
2023-01-04 20:48:05.377 UTC [41] LOG: écoute sur l'adresse IPv4 « 0.0.0.0 », port 5432
2023-01-04 20:48:05.377 UTC [41] LOG: écoute sur l'adresse IPv6 « :: », port 5432
2023-01-04 20:48:05.566 UTC [41] LOG: écoute sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 »
2023-01-04 20:48:05.734 UTC [44] LOG: le système de base de données a été arrêté à 2023-01-04 20:46:17 UTC
2023-01-04 20:48:05.878 UTC [41] LOG: le système de base de données est prêt à accepter les connexions
I, [2023-01-04T20:48:09.779985 #1] INFO -- :
I, [2023-01-04T20:48:09.780390 #1] INFO -- : > su postgres -c 'createdb discourse' || true
2023-01-04 20:48:10.014 UTC [54] postgres@postgres ERROR: la base de données « discourse » existe déjà
2023-01-04 20:48:10.014 UTC [54] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: la création de la base de données a échoué : ERROR: la base de données « discourse » existe déjà
I, [2023-01-04T20:48:10.017003 #1] INFO -- :
I, [2023-01-04T20:48:10.017425 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-01-04 20:48:10.188 UTC [58] postgres@discourse ERROR: le rôle « discourse » existe déjà
2023-01-04 20:48:10.188 UTC [58] postgres@discourse STATEMENT: create user discourse;
ERROR: le rôle « discourse » existe déjà
129:M 04 Jan 2023 20:48:21.224 # Échec de l'écoute sur le port 6379 (TCP), abandon.
À l’intérieur du conteneur, j’essaie de démarrer le service postgresql et j’obtiens une erreur.
root@server /var/discourse # ./launcher enter app
x86_64 arch detected.
root@discourse:/var/www/discourse# service postgresql start
[FAIL] Starting PostgreSQL 13 database server: main[....] Error: Config owner (postgres:105) and data owner (systemd-timesync:101) do not match, and config owner is not root ... failed!
failed!
root@discourse:/var/www/discourse#
Si vous avez changé les propriétaires des fichiers dans le dossier partagé, vous allez casser l’installation. Une option est de réinstaller et de restaurer une sauvegarde, tandis que l’autre est de corriger manuellement ces propriétaires.
À l’intérieur du conteneur, j’ai essayé discourse backup. Il signale que Redis ne fonctionne pas. Dans le journal Redis « current », j’ai trouvé les lignes suivantes à la fin…
10316:M 05 Jan 2023 08:05:27.314 # Server initialized
10316:M 05 Jan 2023 08:05:27.314 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
10316:M 05 Jan 2023 08:05:27.314 # Can't handle RDB format version 10
10316:M 05 Jan 2023 08:05:27.314 # Fatal error loading the DB: Invalid argument. Exiting.
10321:C 05 Jan 2023 08:05:28.345 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
10321:C 05 Jan 2023 08:05:28.345 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=10321, just started
10321:C 05 Jan 2023 08:05:28.345 # Configuration loaded
10321:M 05 Jan 2023 08:05:28.346 * monotonic clock: POSIX clock_gettime
10321:M 05 Jan 2023 08:05:28.347 * Running mode=standalone, port=6379.
10321:M 05 Jan 2023 08:05:28.347 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
10321:M 05 Jan 2023 08:05:28.347 # Server initialized
10321:M 05 Jan 2023 08:05:28.347 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
10321:M 05 Jan 2023 08:05:28.348 # Can't handle RDB format version 10
10321:M 05 Jan 2023 08:05:28.348 # Fatal error loading the DB: Invalid argument. Exiting.
Ensuite, j’ai redémarré le conteneur avec ./launcher restart app. Maintenant, je peux accéder à Discourse. Mais c’est l’ancienne version 2.8.3 que j’ai essayé de mettre à niveau vers la 3.0.0.beta16 hier.
Je ne suis pas sûr de la marche à suivre pour mettre à niveau Discourse.
J’ai pu définir la version sur 2.9.0.beta2 (id de commit : 88a8584348ed93a28286839bfc1c32b06bd50b3f) en définissant l’id de commit comme « version » dans app.yml. Cette fois, la mise à niveau a fonctionné. Après cela, j’ai pu passer à la version 3.0.0.beta16.