Reconstruction de Discourse

Bonjour à tous,

Je suis tout à fait nouveau sur Discourse, mais j’examine une instance de notre entreprise qui a été configurée par quelqu’un d’autre. L’un de nos collègues a mis à jour le certificat SSL, et depuis, le site ne fonctionne plus depuis plusieurs semaines. Une reconstruction rencontre également des problèmes. Quelqu’un pourrait-il nous aider ?

Voici la sortie de la reconstruction.

sudo ./launcher rebuild app
Vérification que le lanceur est à jour
Récupération de l'origine
Le lanceur est à jour
Arrêt de l'ancien conteneur
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Déjà à jour.
I, [2021-01-27T00:56:18.217397 #1]  INFO -- : Chargement de --stdin
I, [2021-01-27T00:56:18.221386 #1]  INFO -- : > apt-get remove -y postgresql-10 postgresql-client-10 postgresql-contrib-10
I, [2021-01-27T00:56:19.014337 #1]  INFO -- : Lecture des listes de paquets...
Construction de l'arbre des dépendances...
Lecture des informations d'état...
Le paquet « postgresql-10 » n'est pas installé, donc il n'est pas supprimé
Le paquet « postgresql-client-10 » n'est pas installé, donc il n'est pas supprimé
0 mis à niveau, 0 nouvellement installés, 0 à supprimer et 0 non mis à jour.

I, [2021-01-27T00:56:19.014524 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
debconf : report de la configuration du paquet, car apt-utils n'est pas installé
I, [2021-01-27T00:56:27.744372 #1]  INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65,4 ko]
Get:3 https://deb.nodesource.com/node_10.x buster InRelease [4 584 o]
Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [270 ko]
Get:5 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [104 ko]
Get:6 http://deb.debian.org/debian buster-updates InRelease [51,9 ko]
Get:7 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [766 o]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [4 672 o]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-12-24-1401.30.pdiff [286 o]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-12-24-1401.30.pdiff [286 o]
Get:10 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [217 ko]
718 ko récupérés en 1 s (566 ko/s)
Lecture des listes de paquets...
Lecture des listes de paquets...
Construction de l'arbre des dépendances...
Lecture des informations d'état...
Paquets suggérés :
  postgresql-doc-9.5 libdbd-pg-perl
Les paquets NOUVEAUX suivants seront installés :
  postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
0 mis à niveau, 3 nouvellement installés, 0 à supprimer et 6 non mis à jour.
Nécessite de récupérer 5 822 ko d'archives.
Après cette opération, 28,0 Mo d'espace disque supplémentaires seront utilisés.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-9.5 amd64 9.5.24-1.pgdg100+1 [1 290 ko]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-9.5 amd64 9.5.24-1.pgdg100+1 [4 066 ko]
Get:3 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-contrib-9.5 amd64 9.5.24-1.pgdg100+1 [465 ko]
5 822 ko récupérés en 2 s (3 628 ko/s)
Sélection du paquet postgresql-client-9.5 précédemment désélectionné.
(Lecture de la base de données... 43 899 fichiers et répertoires actuellement installés.)
Préparation du dépaquetage de .../postgresql-client-9.5_9.5.24-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-client-9.5 (9.5.24-1.pgdg100+1) ...
Sélection du paquet postgresql-9.5 précédemment désélectionné.
Préparation du dépaquetage de .../postgresql-9.5_9.5.24-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-9.5 (9.5.24-1.pgdg100+1) ...
Sélection du paquet postgresql-contrib-9.5 précédemment désélectionné.
Préparation du dépaquetage de .../postgresql-contrib-9.5_9.5.24-1.pgdg100+1_amd64.deb ...
Dépaquetage de postgresql-contrib-9.5 (9.5.24-1.pgdg100+1) ...
Configuration de postgresql-client-9.5 (9.5.24-1.pgdg100+1) ...
update-alternatives : avertissement : forcer la réinstallation de l'alternative /usr/share/postgresql/13/man/man1/psql.1.gz car le groupe de liens psql.1.gz est cassé
Configuration de postgresql-9.5 (9.5.24-1.pgdg100+1) ...
Création du nouveau cluster PostgreSQL 9.5/main ...
/usr/lib/postgresql/9.5/bin/initdb -D /var/lib/postgresql/9.5/main --auth-local peer --auth-host md5
Les fichiers appartenant à ce système de base de données seront propriété de l'utilisateur « postgres ».
Cet utilisateur doit également posséder le processus serveur.

Le cluster de base de données sera initialisé avec la locale « C.UTF-8 ».
Le codage par défaut de la base de données a été défini en conséquence sur « UTF8 ».
La configuration par défaut de recherche textuelle sera définie sur « english ».

Les sommes de contrôle des pages de données sont désactivées.

correction des permissions sur le répertoire existant /var/lib/postgresql/9.5/main ... ok
création des sous-répertoires ... ok
sélection de max_connections par défaut ... 100
sélection de shared_buffers par défaut ... 128 Mo
sélection du fuseau horaire par défaut ... Etc/UTC
sélection de l'implémentation de mémoire partagée dynamique ... posix
création des fichiers de configuration ... ok
création de la base de données template1 dans /var/lib/postgresql/9.5/main/base/1 ... ok
initialisation de pg_authid ... ok
initialisation des dépendances ... ok
création des vues système ... ok
chargement des descriptions des objets système ... ok
création des collations ... ok
création des conversions ... ok
création des dictionnaires ... ok
définition des privilèges sur les objets intégrés ... ok
création du schéma d'information ... ok
chargement du langage côté serveur PL/pgSQL ... ok
vidage de la base de données template1 ... ok
copie de template1 vers template0 ... ok
copie de template1 vers postgres ... ok
synchronisation des données sur le disque ... ok

Succès. Vous pouvez maintenant démarrer le serveur de base de données en utilisant :

    /usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main -l logfile start

Ver Cluster Port Statut Propriétaire   Répertoire de données            Fichier journal
9.5 main    5433 arrêté  postgres     /var/lib/postgresql/9.5/main     /var/log/postgresql/postgresql-9.5-main.log
update-alternatives : avertissement : forcer la réinstallation de l'alternative /usr/share/postgresql/13/man/man1/postmaster.1.gz car le groupe de liens postmaster.1.gz est cassé
invoke-rc.d : impossible de déterminer le niveau d'exécution actuel
invoke-rc.d : la politique policy-rc.d a refusé l'exécution du démarrage.
Configuration de postgresql-contrib-9.5 (9.5.24-1.pgdg100+1) ...
Traitement des déclencheurs pour postgresql-common (223.pgdg100+1) ...
Construction des dictionnaires PostgreSQL à partir des paquets myspell/hunspell installés...
Suppression des fichiers de dictionnaire obsolètes :

I, [2021-01-27T00:56:27.744534 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2021-01-27T00:56:27.746759 #1]  INFO -- :
I, [2021-01-27T00:56:27.746920 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2021-01-27T00:56:27.748670 #1]  INFO -- :
I, [2021-01-27T00:56:27.748817 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2021-01-27T00:56:27.750312 #1]  INFO -- :
I, [2021-01-27T00:56:27.750445 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2021-01-27T00:56:27.752163 #1]  INFO -- :
I, [2021-01-27T00:56:27.752286 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2021-01-27T00:56:27.753733 #1]  INFO -- :
I, [2021-01-27T00:56:27.753861 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres déjà en cours d'exécution, arrêter le conteneur ; exit 1
2021/01/27 00:56:27 socat[1563] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36) : Aucun fichier ou répertoire de ce type
I, [2021-01-27T00:56:27.757032 #1]  INFO -- :
I, [2021-01-27T00:56:27.757131 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2021-01-27T00:56:27.759113 #1]  INFO -- :
I, [2021-01-27T00:56:27.759211 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2021-01-27T00:56:27.761112 #1]  INFO -- :
I, [2021-01-27T00:56:27.761207 #1]  INFO -- : > mkdir -p /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2021-01-27T00:56:27.762768 #1]  INFO -- :
I, [2021-01-27T00:56:27.762914 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2021-01-27T00:56:27.764392 #1]  INFO -- :
I, [2021-01-27T00:56:27.767696 #1]  INFO -- : Fichier > /etc/service/postgres/run  chmod: +x  chown:
I, [2021-01-27T00:56:27.770758 #1]  INFO -- : Fichier > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2021-01-27T00:56:27.770945 #1]  INFO -- : > chown -R root /var/lib/postgresql/9.5/main
I, [2021-01-27T00:56:27.776379 #1]  INFO -- :
I, [2021-01-27T00:56:27.776453 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.5/bin/initdb -D /shared/postgres_data || exit 0
I, [2021-01-27T00:56:27.777801 #1]  INFO -- :
I, [2021-01-27T00:56:27.777850 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2021-01-27T00:56:27.783111 #1]  INFO -- :
I, [2021-01-27T00:56:27.783215 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2021-01-27T00:56:27.784767 #1]  INFO -- :
I, [2021-01-27T00:56:27.784941 #1]  INFO -- : Remplacement de data_directory = '/var/lib/postgresql/9.5/main' par data_directory = '/shared/postgres_data' dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.785211 #1]  INFO -- : Remplacement de (?-mix:#?listen_addresses *=.*) par listen_addresses = '*' dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.785927 #1]  INFO -- : Remplacement de (?-mix:#?synchronous_commit *=.*) par synchronous_commit = $db_synchronous_commit dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.786670 #1]  INFO -- : Remplacement de (?-mix:#?shared_buffers *=.*) par shared_buffers = $db_shared_buffers dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.787426 #1]  INFO -- : Remplacement de (?-mix:#?work_mem *=.*) par work_mem = $db_work_mem dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.788428 #1]  INFO -- : Remplacement de (?-mix:#?default_text_search_config *=.*) par default_text_search_config = '$db_default_text_search_config' dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.789053 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2021-01-27T00:56:27.790832 #1]  INFO -- :
I, [2021-01-27T00:56:27.791033 #1]  INFO -- : Remplacement de (?-mix:#?checkpoint_segments *=.*) par checkpoint_segments = $db_checkpoint_segments dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.791241 #1]  INFO -- : Remplacement de (?-mix:#?logging_collector *=.*) par logging_collector = $db_logging_collector dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.791909 #1]  INFO -- : Remplacement de (?-mix:#?log_min_duration_statement *=.*) par log_min_duration_statement = $db_log_min_duration_statement dans /etc/postgresql/9.5/main/postgresql.conf
I, [2021-01-27T00:56:27.792577 #1]  INFO -- : Remplacement de (?-mix:^#local +replication +postgres +peer$) par local replication postgres  peer dans /etc/postgresql/9.5/main/pg_hba.conf
I, [2021-01-27T00:56:27.792744 #1]  INFO -- : Remplacement de (?-mix:^host.*all.*all.*127.*$) par host all all 0.0.0.0/0 md5 dans /etc/postgresql/9.5/main/pg_hba.conf
I, [2021-01-27T00:56:27.793816 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main
I, [2021-01-27T00:56:27.794896 #1]  INFO -- : > sleep 5
2021-01-27 00:56:27.803 UTC [1579] FATAL : « /shared/postgres_data » n'est pas un répertoire de données valide
2021-01-27 00:56:27.803 UTC [1579] DETAIL : Le fichier « /shared/postgres_data/PG_VERSION » ne contient pas de données valides.
2021-01-27 00:56:27.803 UTC [1579] HINT : Vous devrez peut-être exécuter initdb.
I, [2021-01-27T00:56:32.796560 #1]  INFO -- :
I, [2021-01-27T00:56:32.796794 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb : erreur : impossible de se connecter à la base de données template1 : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
        Le serveur est-il en cours d'exécution localement et accepte-t-il
        les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2021-01-27T00:56:32.831116 #1]  INFO -- :
I, [2021-01-27T00:56:32.831264 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql : erreur : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
        Le serveur est-il en cours d'exécution localement et accepte-t-il
        les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2021-01-27T00:56:32.870370 #1]  INFO -- :
I, [2021-01-27T00:56:32.870513 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql : erreur : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
        Le serveur est-il en cours d'exécution localement et accepte-t-il
        les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2021-01-27T00:56:32.908898 #1]  INFO -- :
I, [2021-01-27T00:56:32.909038 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql : erreur : impossible de se connecter au serveur : Aucun fichier ou répertoire de ce type
        Le serveur est-il en cours d'exécution localement et accepte-t-il
        les connexions sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 » ?
I, [2021-01-27T00:56:32.947732 #1]  INFO -- :
I, [2021-01-27T00:56:32.947960 #1]  INFO -- : Terminaison des processus asynchrones


ÉCHEC
--------------------
Pups::ExecError : la commande « su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' » a échoué avec le code de retour #<Process::Status: pid 1605 exit 2>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
échec de l'exécution avec les paramètres "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
939070e4fa69fee27e24019c29559257d18d45800db622ff039dbf4eba4372f1
** ÉCHEC DE L'INITIALISATION ** veuillez faire défiler vers le haut et rechercher les messages d'erreur antérieurs, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.

Pouvez-vous partager votre app.yml (/var/discourse/containers/app.yml) après avoir supprimé les données sensibles ?

ubuntu@ip-10-0-5-81:/var/discourse_docker$ cat /var/discourse_docker/containers/app.yml
## Ceci est le modèle de conteneur Docker Discourse tout-en-un et autonome
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ *TRÈS* PRUDENT EN ÉDITANT !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## Visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire

templates:
  - "templates/postgres.9.5.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## Quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## consultez https://meta.discourse.org/t/17247 pour plus de détails
expose:
  - "80:80"   # http
  - "443:443" # https
  - "2222:22" # ssh

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Définissez db_shared_buffers à un maximum de 25 % de la mémoire totale.
  ## Sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
  db_shared_buffers: "1792MB"

  ## Peut améliorer les performances de tri, mais augmente l'utilisation de la mémoire par connexion
  #db_work_mem: "40MB"

  ## Quelle révision Git ce conteneur doit-il utiliser ? (par défaut : tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
  ## Sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
  UNICORN_WORKERS: 4

  ## TODO : Le nom de domaine auquel cette instance Discourse répondra
  ## Requis. Discourse ne fonctionnera pas avec une adresse IP brute.
  DISCOURSE_HOSTNAME: 'discourse.frostbite.com'

  ## Décommentez si vous souhaitez que le conteneur soit démarré avec le même
  ## nom d'hôte (option -h) que spécifié ci-dessus (par défaut "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO : Liste d'e-mails séparés par des virgules qui seront administrateurs et développeurs
  ## lors de l'inscription initiale, par exemple 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'ipersson@frostbite.com'

  ## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
  # L'adresse SMTP, le nom d'utilisateur et le mot de passe sont requis
  # ATTENTION : le caractère '#' dans le mot de passe SMTP peut causer des problèmes !
  DISCOURSE_SMTP_ADDRESS: 'email-smtp.us-west-2.amazonaws.com'
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: ''
  DISCOURSE_SMTP_PASSWORD: ''
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optionnel, par défaut true)
  DISCOURSE_SMTP_AUTHENTICATION: 'login'

  DISCOURSE_DB_SOCKET: ''
  DISCOURSE_DB_NAME: 'discourse'
  DISCOURSE_DB_POOL: 15
  DISCOURSE_DB_USERNAME: 'discourse'
  DISCOURSE_DB_PASSWORD: ''
  DISCOURSE_DB_HOST: ''
  DISCOURSE_DB_PORT: '5432'
  DISCOURSE_REDIS_HOST: ''
  DISCOURSE_REDIS_PORT: '6379'

  ## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## L'adresse CDN http ou https pour cette instance Discourse (configurée pour récupérer)
  ## consultez https://meta.discourse.org/t/14857 pour plus de détails
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## La clé d'adresse IP Maxmind pour la recherche d'adresses IP
  ## consultez https://meta.discourse.org/t/-/137387/23 pour plus de détails
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Les plugins vont ici
## consultez https://meta.discourse.org/t/19157 pour plus de détails
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - mkdir -p plugins
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-feature-voting.git

## Toutes les commandes personnalisées à exécuter après la construction
run:
  - exec: echo "Début des commandes personnalisées"
  ## Si vous souhaitez définir l'adresse e-mail 'De' pour votre première inscription, décommentez et modifiez :
  ## Après avoir reçu le premier e-mail d'inscription, re-commentez la ligne. Elle ne doit être exécutée qu'une seule fois.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fin des commandes personnalisées"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Clés SSH autorisées pour ce conteneur:"; } NF>=2 {print $NF;}'

Merci de votre aide ici. La base de données est hébergée sur un serveur différent, comme je peux le voir dans le fichier app.yml. Cette instance fonctionnait correctement depuis des mois et aucune modification n’a été apportée, si ce n’est la mise à jour SSL.

Donc, il s’agit d’une installation assez ancienne, et la personne responsable n’a pas voulu gérer la mise à niveau vers PostgreSQL 10, laissant le système bloqué sur PostgreSQL 9.5.

Discourse utilise désormais PostgreSQL 13, vous devez donc suivre ces étapes :

  1. Effectuez une sauvegarde.
  2. Modifiez la ligne dans app.yml :
    de : - "templates/postgres.9.5.template.yml"
    à : - "templates/postgres.template.yml"
  3. Reconstruisez et suivez les instructions.

Puisque vous avez sauté deux mises à niveau majeures de PostgreSQL depuis 2018, cette opération pourrait être plus délicate que d’habitude.

Merci, cela a fait avancer le processus un peu plus, mais malheureusement, une erreur liée à psql est toujours levée.

Partie 1

ubuntu@ip-10-0-5-81:/var/discourse_docker$ sudo git pull
Déjà à jour.
ubuntu@ip-10-0-5-81:/var/discourse_docker$ sudo ./launcher rebuild app
Vérification que le lanceur est à jour
Récupération de l'origine
Le lanceur est à jour
Arrêt de l'ancien conteneur
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Déjà à jour.
I, [2021-01-27T02:23:32.961245 #1]  INFO -- : Chargement de --stdin
I, [2021-01-27T02:23:32.965383 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2021-01-27T02:23:32.987516 #1]  INFO -- : Génération des paramètres régionaux (cela peut prendre un certain temps)...
Génération terminée.

I, [2021-01-27T02:23:32.987669 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2021-01-27T02:23:32.989911 #1]  INFO -- :
I, [2021-01-27T02:23:32.990064 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2021-01-27T02:23:32.992027 #1]  INFO -- :
I, [2021-01-27T02:23:32.992154 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2021-01-27T02:23:32.993583 #1]  INFO -- :
I, [2021-01-27T02:23:32.993702 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2021-01-27T02:23:32.995266 #1]  INFO -- :
I, [2021-01-27T02:23:32.995389 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2021-01-27T02:23:32.996948 #1]  INFO -- :
I, [2021-01-27T02:23:32.997071 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres déjà en cours d'exécution, arrêter le conteneur ; exit 1
2021/01/27 02:23:33 socat[28] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36) : Aucun fichier ou répertoire de ce type
I, [2021-01-27T02:23:33.000489 #1]  INFO -- :
I, [2021-01-27T02:23:33.000604 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2021-01-27T02:23:33.002633 #1]  INFO -- :
I, [2021-01-27T02:23:33.002731 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2021-01-27T02:23:33.004812 #1]  INFO -- :
I, [2021-01-27T02:23:33.004925 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2021-01-27T02:23:33.006528 #1]  INFO -- :
I, [2021-01-27T02:23:33.006672 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2021-01-27T02:23:33.008413 #1]  INFO -- :
I, [2021-01-27T02:23:33.011835 #1]  INFO -- : Fichier > /etc/service/postgres/run  chmod: +x  chown:
I, [2021-01-27T02:23:33.014961 #1]  INFO -- : Fichier > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2021-01-27T02:23:33.018297 #1]  INFO -- : Fichier > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2021-01-27T02:23:33.021412 #1]  INFO -- : Fichier > /root/upgrade_postgres  chmod: +x  chown:
I, [2021-01-27T02:23:33.021632 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2021-01-27T02:23:35.186494 #1]  INFO -- :
I, [2021-01-27T02:23:35.186619 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2021-01-27T02:23:35.188812 #1]  INFO -- :
I, [2021-01-27T02:23:35.188877 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2021-01-27T02:23:35.194463 #1]  INFO -- :
I, [2021-01-27T02:23:35.194567 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2021-01-27T02:23:35.196238 #1]  INFO -- :
I, [2021-01-27T02:23:35.196378 #1]  INFO -- : > /root/upgrade_postgres
I, [2021-01-27T02:23:35.199668 #1]  INFO -- :
I, [2021-01-27T02:23:35.199784 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2021-01-27T02:23:35.201235 #1]  INFO -- :
I, [2021-01-27T02:23:35.201464 #1]  INFO -- : Remplacement de data_directory = '/var/lib/postgresql/13/main' par data_directory = '/shared/postgres_data' dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.201885 #1]  INFO -- : Remplacement de (?-mix:#?listen_addresses *=.*) par listen_addresses = '*' dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.202816 #1]  INFO -- : Remplacement de (?-mix:#?synchronous_commit *=.*) par synchronous_commit = $db_synchronous_commit dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.204224 #1]  INFO -- : Remplacement de (?-mix:#?shared_buffers *=.*) par shared_buffers = $db_shared_buffers dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.205139 #1]  INFO -- : Remplacement de (?-mix:#?work_mem *=.*) par work_mem = $db_work_mem dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.206223 #1]  INFO -- : Remplacement de (?-mix:#?default_text_search_config *=.*) par default_text_search_config = '$db_default_text_search_config' dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.207160 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2021-01-27T02:23:35.209131 #1]  INFO -- :
I, [2021-01-27T02:23:35.209339 #1]  INFO -- : Remplacement de (?-mix:#?checkpoint_segments *=.*) par checkpoint_segments = $db_checkpoint_segments dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.209556 #1]  INFO -- : Remplacement de (?-mix:#?logging_collector *=.*) par logging_collector = $db_logging_collector dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.210628 #1]  INFO -- : Remplacement de (?-mix:#?log_min_duration_statement *=.*) par log_min_duration_statement = $db_log_min_duration_statement dans /etc/postgresql/13/main/postgresql.conf
I, [2021-01-27T02:23:35.211627 #1]  INFO -- : Remplacement de (?-mix:^#local +replication +postgres +peer$) par local replication postgres  peer dans /etc/postgresql/13/main/pg_hba.conf
I, [2021-01-27T02:23:35.211812 #1]  INFO -- : Remplacement de (?-mix:^host.*all.*all.*127.*$) par host all all 0.0.0.0/0 md5 dans /etc/postgresql/13/main/pg_hba.conf
I, [2021-01-27T02:23:35.212556 #1]  INFO -- : > 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, [2021-01-27T02:23:35.213655 #1]  INFO -- : > sleep 5
2021-01-27 02:23:35.274 UTC [51] LOG:  démarrage de PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) sur x86_64-pc-linux-gnu, compilé par gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-01-27 02:23:35.274 UTC [51] LOG:  écoute sur l'adresse IPv4 « 0.0.0.0 », port 5432
2021-01-27 02:23:35.274 UTC [51] LOG:  écoute sur l'adresse IPv6 « :: », port 5432
2021-01-27 02:23:35.278 UTC [51] LOG:  écoute sur le socket Unix « /var/run/postgresql/.s.PGSQL.5432 »
2021-01-27 02:23:35.285 UTC [54] LOG:  le système de base de données a été arrêté le 2021-01-22 18:45:58 UTC
2021-01-27 02:23:35.293 UTC [51] LOG:  le système de base de données est prêt à accepter les connexions
I, [2021-01-27T02:23:40.215863 #1]  INFO -- :
I, [2021-01-27T02:23:40.216095 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2021-01-27 02:23:40.254 UTC [64] postgres@postgres ERROR:  la base de données « discourse » existe déjà
2021-01-27 02:23:40.254 UTC [64] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: erreur : la création de la base de données a échoué : ERROR:  la base de données « discourse » existe déjà
I, [2021-01-27T02:23:40.255326 #1]  INFO -- :
I, [2021-01-27T02:23:40.255544 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2021-01-27 02:23:40.297 UTC [75] postgres@discourse ERROR:  le rôle « discourse » existe déjà
2021-01-27 02:23:40.297 UTC [75] postgres@discourse STATEMENT:  create user discourse;
ERROR:  le rôle « discourse » existe déjà
I, [2021-01-27T02:23:40.298381 #1]  INFO -- :
I, [2021-01-27T02:23:40.298564 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2021-01-27T02:23:40.339257 #1]  INFO -- : GRANT

I, [2021-01-27T02:23:40.339469 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2021-01-27T02:23:40.381081 #1]  INFO -- : ALTER SCHEMA

I, [2021-01-27T02:23:40.381291 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  l'extension « hstore » existe déjà, passage à la suite
I, [2021-01-27T02:23:40.424028 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.424230 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  l'extension « pg_trgm » existe déjà, passage à la suite
I, [2021-01-27T02:23:40.465201 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.465402 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  l'extension « hstore » existe déjà, passage à la suite
I, [2021-01-27T02:23:40.505848 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.506132 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  l'extension « pg_trgm » existe déjà, passage à la suite
I, [2021-01-27T02:23:40.546197 #1]  INFO -- : CREATE EXTENSION

I, [2021-01-27T02:23:40.546483 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2021-01-27T02:23:40.547907 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2021-01-27T02:23:40.593818 #1]  INFO -- : Fichier > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2021-01-27T02:23:40.595848 #1]  INFO -- : Fichier > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2021-01-27T02:23:40.595932 #1]  INFO -- : > echo postgres installé !
I, [2021-01-27T02:23:40.597420 #1]  INFO -- : postgres installé !

I, [2021-01-27T02:23:40.600831 #1]  INFO -- : Fichier > /etc/service/redis/run  chmod: +x  chown:
I, [2021-01-27T02:23:40.604240 #1]  INFO -- : Fichier > /etc/service/redis/log/run  chmod: +x  chown:
I, [2021-01-27T02:23:40.607627 #1]  INFO -- : Fichier > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2021-01-27T02:23:40.607771 #1]  INFO -- : Remplacement de daemonize yes par   dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.608189 #1]  INFO -- : Remplacement de (?-mix:^pidfile.*$) par   dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.609758 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2021-01-27T02:23:40.611653 #1]  INFO -- :
I, [2021-01-27T02:23:40.611895 #1]  INFO -- : Remplacement de (?-mix:^logfile.*$) par logfile "" dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.612224 #1]  INFO -- : Remplacement de (?-mix:^bind .*$) par   dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.613276 #1]  INFO -- : Remplacement de (?-mix:^dir .*$) par dir /shared/redis_data dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.614500 #1]  INFO -- : Remplacement de (?-mix:^protected-mode yes) par protected-mode no dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.615551 #1]  INFO -- : Remplacement de # io-threads 4 par io-threads $redis_io_threads dans /etc/redis/redis.conf
I, [2021-01-27T02:23:40.616681 #1]  INFO -- : > echo redis installé
I, [2021-01-27T02:23:40.618206 #1]  INFO -- : redis installé

I, [2021-01-27T02:23:40.618336 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2021-01-27T02:23:40.621038 #1]  INFO -- : logfile ""

I, [2021-01-27T02:23:40.621135 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2021-01-27T02:23:40.622175 #1]  INFO -- : > sleep 10
168:C 27 janv. 2021 02:23:40.625 # oO0OoO0OoO0Oo Redis démarre oO0OoO0OoO0Oo
168:C 27 janv. 2021 02:23:40.625 # Version Redis=6.0.9, bits=64, commit=00000000, modifié=0, pid=168, vient de démarrer
168:C 27 janv. 2021 02:23:40.625 # Configuration chargée
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 6.0.9 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Exécution en mode autonome
 |`-._`-...-` __...-.``-._|'` _.-'|     Port : 6379
 |    `-._   `._    /     _.-'    |     PID : 168
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

168:M 27 janv. 2021 02:23:40.626 # AVERTISSEMENT : Le paramètre TCP backlog de 511 ne peut pas être appliqué car /proc/sys/net/core/somaxconn est défini à la valeur inférieure de 128.
168:M 27 janv. 2021 02:23:40.626 # Serveur initialisé
168:M 27 janv. 2021 02:23:40.626 # AVERTISSEMENT : overcommit_memory est défini à 0 ! La sauvegarde en arrière-plan peut échouer en cas de faible mémoire. Pour corriger ce problème, ajoutez 'vm.overcommit_memory = 1' à /etc/sysctl.conf, puis redémarrez ou exécutez la commande 'sysctl vm.overcommit_memory=1' pour que cela prenne effet.
168:M 27 janv. 2021 02:23:40.626 # AVERTISSEMENT : vous avez activé le support des Transparent Huge Pages (THP) dans votre noyau. Cela créera des problèmes de latence et d'utilisation de la mémoire avec Redis. Pour corriger ce problème, exécutez la commande 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' en tant que root, et ajoutez-la à votre /etc/rc.local afin de conserver le paramètre après un redémarrage. Redis doit être redémarré après la désactivation de THP (défini sur 'madvise' ou 'never').
168:M 27 janv. 2021 02:23:40.627 * Chargement du RDB produit par la version 6.0.9
168:M 27 janv. 2021 02:23:40.627 * Âge du RDB : 373062 secondes
168:M 27 janv. 2021 02:23:40.627 * Utilisation de la mémoire du RDB à la création : 0,77 Mo
168:M 27 janv. 2021 02:23:40.627 * Base de données chargée depuis le disque : 0,001 secondes
168:M 27 janv. 2021 02:23:40.627 * Prêt à accepter les connexions
I, [2021-01-27T02:23:50.624174 #1]  INFO -- :
I, [2021-01-27T02:23:50.624368 #1]  INFO -- : > thpoff echo "thpoff est installé !"
I, [2021-01-27T02:23:50.628194 #1]  INFO -- : thpoff est installé !

I, [2021-01-27T02:23:50.628403 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2021-01-27T02:23:50.684626 #1]  INFO -- :
I, [2021-01-27T02:23:50.684797 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2021-01-27T02:23:50.740355 #1]  INFO -- :
I, [2021-01-27T02:23:50.740509 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2021-01-27T02:23:50.795416 #1]  INFO -- :
I, [2021-01-27T02:23:50.795561 #1]  INFO -- : > chown -R discourse /home/discourse
I, [2021-01-27T02:23:51.993394 #1]  INFO -- :
I, [2021-01-27T02:23:51.993649 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2021-01-27T02:23:51.996154 #1]  INFO -- :
I, [2021-01-27T02:23:51.998656 #1]  INFO -- : Fichier > /etc/cron.d/anacron  chmod:   chown:
I, [2021-01-27T02:23:52.002447 #1]  INFO -- : Fichier > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2021-01-27T02:23:52.005954 #1]  INFO -- : Fichier > /etc/service/unicorn/run  chmod: +x  chown:
I, [2021-01-27T02:23:52.009632 #1]  INFO -- : Fichier > /etc/service/nginx/run  chmod: +x  chown:
I, [2021-01-27T02:23:52.012917 #1]  INFO -- : Fichier > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2021-01-27T02:23:52.016214 #1]  INFO -- : Fichier > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2021-01-27T02:23:52.016297 #1]  INFO -- : Remplacement de # postgres par sv start postgres || exit 1 dans /etc/service/unicorn/run
I, [2021-01-27T02:23:52.016484 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2021-01-27T02:23:52.018137 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
196:C 27 janv. 2021 02:23:52.022 # oO0OoO0OoO0Oo Redis démarre oO0OoO0OoO0Oo
196:C 27 janv. 2021 02:23:52.022 # Version Redis=6.0.9, bits=64, commit=00000000, modifié=0, pid=196, vient de démarrer
196:C 27 janv. 2021 02:23:52.022 # Configuration chargée
196:M 27 janv. 2021 02:23:52.022 # Impossible de créer le socket TCP d'écoute du serveur *:6379 : bind : Adresse déjà utilisée
Vérification des fichiers : 100 % (28296/28296), terminé.
I, [2021-01-27T02:23:53.939497 #1]  INFO -- : HEAD est maintenant sur c4552e9c FIX : Les vidéos en lecture automatique doivent toujours être muettes (#11533)

I, [2021-01-27T02:23:53.939601 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2021-01-27T02:23:54.022025 #1]  INFO -- :
I, [2021-01-27T02:23:54.022124 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin master
I, [2021-01-27T02:23:54.025577 #1]  INFO -- :
I, [2021-01-27T02:23:54.025664 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2021-01-27T02:23:54.028750 #1]  INFO -- :
I, [2021-01-27T02:23:54.028832 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
De https://github.com/discourse/discourse
 * branche              tests-passed -> FETCH_HEAD
 * [nouvelle branche]        tests-passed -> origin/tests-passed
I, [2021-01-27T02:23:57.285604 #1]  INFO -- :
I, [2021-01-27T02:23:57.285712 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
Changement vers une nouvelle branche « tests-passed »
I, [2021-01-27T02:23:57.857114 #1]  INFO -- : La branche « tests-passed » est configurée pour suivre la branche distante « tests-passed » depuis « origin ».

I, [2021-01-27T02:23:57.857221 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2021-01-27T02:23:57.860401 #1]  INFO -- :
I, [2021-01-27T02:23:57.860491 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2021-01-27T02:23:57.862857 #1]  INFO -- :
I, [2021-01-27T02:23:57.862925 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2021-01-27T02:23:57.865399 #1]  INFO -- :
I, [2021-01-27T02:23:57.865471 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2021-01-27T02:23:57.867854 #1]  INFO -- :
I, [2021-01-27T02:23:57.867922 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2021-01-27T02:23:57.870065 #1]  INFO -- :
I, [2021-01-27T02:23:57.870133 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2021-01-27T02:23:57.872299 #1]  INFO -- :
I, [2021-01-27T02:23:57.872361 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2021-01-27T02:23:57.875562 #1]  INFO -- :
I, [2021-01-27T02:23:57.875646 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2021-01-27T02:23:57.879076 #1]  INFO -- :
I, [2021-01-27T02:23:57.879144 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2021-01-27T02:23:57.882376 #1]  INFO -- :
I, [2021-01-27T02:23:57.882446 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2021-01-27T02:23:57.885522 #1]  INFO -- :
I, [2021-01-27T02:23:57.885613 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2021-01-27T02:23:57.888826 #1]  INFO -- :
I, [2021-01-27T02:23:57.888895 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2021-01-27T02:23:57.891921 #1]  INFO -- :
I, [2021-01-27T02:23:57.891999 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2021-01-27T02:23:57.894182 #1]  INFO -- :
I, [2021-01-27T02:23:57.894258 #1]  INFO -- : > cd /var/www/discourse && find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2021-01-27T02:23:57.896716 #1]  INFO -- :
I, [2021-01-27T02:23:57.896844 #1]  INFO -- : Remplacement de # redis par sv start redis || exit 1 dans /etc/service/unicorn/run
I, [2021-01-27T02:23:57.897125 #1]  INFO -- : > cd /var/www/discourse/plugins && mkdir -p plugins
I, [2021-01-27T02:23:57.899325 #1]  INFO -- :
I, [2021-01-27T02:23:57.899394 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Clonage dans « docker_manager »...
I, [2021-01-27T02:23:59.343670 #1]  INFO -- :
I, [2021-01-27T02:23:59.343784 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-solved.git
Clonage dans « discourse-solved »...
I, [2021-01-27T02:24:00.242855 #1]  INFO -- :
I, [2021-01-27T02:24:00.242963 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-feature-voting.git
Clonage dans « discourse-feature-voting »...
I, [2021-01-27T02:24:01.142839 #1]  INFO -- :
I, [2021-01-27T02:24:01.143097 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2021-01-27T02:24:01.145932 #1]  INFO -- :
I, [2021-01-27T02:24:01.146056 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2021-01-27T02:24:01.147930 #1]  INFO -- :
I, [2021-01-27T02:24:01.148013 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2021-01-27T02:24:01.149838 #1]  INFO -- :
I, [2021-01-27T02:24:01.150069 #1]  INFO -- : Remplacement de pid /run/nginx.pid; par daemon off; dans /etc/nginx/nginx.conf
I, [2021-01-27T02:24:01.150307 #1]  INFO -- : Remplacement de (?m-ix:upstream[^\}]+\}) par upstream discourse { server 127.0.0.1:3000; } dans /etc/nginx/conf.d/discourse.conf
I, [2021-01-27T02:24:01.150480 #1]  INFO -- : Remplacement de (?-mix:server_name.+$) par server_name _ ; dans /etc/nginx/conf.d/discourse.conf
I, [2021-01-27T02:24:01.151135 #1]  INFO -- : Remplacement de (?-mix:client_max_body_size.+$) par client_max_body_size $upload_size ; dans /etc/nginx/conf.d/discourse.conf
I, [2021-01-27T02:24:01.151717 #1]  INFO -- : > echo "configuration web terminée"
I, [2021-01-27T02:24:01.153224 #1]  INFO -- : configuration web terminée

I, [2021-01-27T02:24:01.153440 #1]  INFO -- : > cd /var/www/discourse && gem update bundler
I, [2021-01-27T02:24:05.839906 #1]  INFO -- : Mise à jour des gems installées
Mise à jour de bundler
Successfully installed bundler-2.2.7
Gems mis à jour : bundler

Part 2

[2021-01-27T02:24:05.840013 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
    I, [2021-01-27T02:24:12.608457 #1]  INFO -- :
    I, [2021-01-27T02:24:12.608656 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'
    [DEPRECATED] The `--deployment` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local deployment 'true'`, and stop using this flag
    [DEPRECATED] The `--without` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local without 'test development'`, and stop using this flag
    I, [2021-01-27T02:24:39.339048 #1]  INFO -- : Running `bundle install --deployment --jobs 4 --retry 3 --verbose --without "test" "development"` with bundler 2.2.7
    Frozen, using resolution from the lockfile
    The definition is missing ["rake-13.0.3", "concurrent-ruby-1.1.8", "i18n-1.8.7", "minitest-5.14.3", "racc-1.5.2", "nokogiri-1.11.1-x86_64-linux", "loofah-2.9.0", "chunky_png-1.4.0", "css_parser-1.8.0", "thor-1.1.0", "faraday-net_http-1.0.1", "ruby2_keywords-0.0.4", "faraday-1.3.0", "fastimage-2.2.1", "ffi-1.14.2", "json-2.5.1", "logster-2.9.5", "sidekiq-6.1.3", "mini_sql-1.0.1", "mini_suffix-0.3.2", "oauth-0.5.5", "oj-3.11.1", "omniauth-oauth2-1.7.1", "sanitize-5.2.3", "onebox-2.2.2", "rack-mini-profiler-2.3.0", "rqrcode_core-0.2.0", "rqrcode-1.2.0", "unicorn-5.8.0"]
    HTTP GET https://index.rubygems.org/versions
    HTTP 206 Partial Content https://index.rubygems.org/versions
    HTTP GET https://index.rubygems.org/versions
    HTTP 200 OK https://index.rubygems.org/versions
    Fetching gem metadata from https://rubygems.org/
    Looking up gems ["rake", "concurrent-ruby", "i18n", "minitest", "thread_safe", "tzinfo", "zeitwerk", "activesupport", "builder", "erubi", "racc", "nokogiri", "rails-dom-testing", "crass", "loofah", "rails-html-sanitizer", "actionview", "rack", "rack-test", "actionpack", "globalid", "activejob", "mini_mime", "mail", "actionmailer", "actionview_precompiler", "activemodel", "active_model_serializers", "activerecord", "public_suffix", "addressable", "aws-eventstream", "aws-partitions", "aws-sigv4", "jmespath", "aws-sdk-core", "aws-sdk-kms", "aws-sdk-s3", "aws-sdk-sns", "ember-source", "execjs", "barber", "msgpack", "bootsnap", "byebug", "cbor", "chunky_png", "coderay", "colored2", "connection_pool", "openssl-signature_algorithm", "cose", "cppjieba_rb", "css_parser", "diffy", "ember-data-source", "sprockets", "ember-handlebars-template", "method_source", "thor", "railties", "jquery-rails", "discourse-ember-rails", "discourse-ember-source", "discourse-fonts", "exifr", "fspath", "image_size", "in_threads", "progress", "discourse_image_optim", "email_reply_trimmer", "excon", "faraday-net_http", "multipart-post", "ruby2_keywords", "faraday", "fast_blank", "fast_xs", "fastimage", "ffi", "gc_tracer", "guess_html_encoding", "hashie", "highline", "hkdf", "htmlentities", "http_accept_language", "json", "jwt", "kgio", "libv8", "request_store", "lograge", "logstash-event", "logstash-logger", "logster", "lru_redux", "lz4-ruby", "maxminddb", "memory_profiler", "message_bus", "mini_racer", "redis", "sidekiq", "mini_scheduler", "mini_sql", "mini_suffix", "multi_json", "multi_xml", "mustache", "nio4r", "nokogumbo", "oauth", "oauth2", "oj", "omniauth", "omniauth-oauth2", "omniauth-facebook", "omniauth-github", "omniauth-google-oauth2", "omniauth-oauth", "omniauth-twitter", "sanitize", "onebox", "optimist", "pg", "pry", "pry-byebug", "pry-rails", "puma", "r2", "rack-mini-profiler", "rack-protection", "rails_failover", "rails_multisite", "raindrops", "rbtrace", "rchardet", "redis-namespace", "rinku", "rotp", "rqrcode_core", "rqrcode", "rtlit", "ruby-readability", "rubyzip", "sassc", "sprockets-rails", "tilt", "sassc-rails", "seed-fu", "sshkey", "stackprof", "uglifier", "unf_ext", "unf", "unicorn", "webpush", "xorcist"]
    HTTP GET https://index.rubygems.org/info/racc
    HTTP GET https://index.rubygems.org/info/nokogiri
    HTTP GET https://index.rubygems.org/info/tzinfo
    HTTP GET https://index.rubygems.org/info/loofah
    HTTP GET https://index.rubygems.org/info/activemodel
    HTTP GET https://index.rubygems.org/info/activejob
    HTTP GET https://index.rubygems.org/info/concurrent-ruby
    HTTP GET https://index.rubygems.org/info/actionview
    HTTP GET https://index.rubygems.org/info/actionpack
    HTTP GET https://index.rubygems.org/info/i18n
    HTTP 200 OK https://index.rubygems.org/info/racc
    HTTP GET https://index.rubygems.org/info/activesupport
    HTTP GET https://index.rubygems.org/info/css_parser
    HTTP GET https://index.rubygems.org/info/actionmailer
    HTTP GET https://index.rubygems.org/info/minitest
    HTTP GET https://index.rubygems.org/info/aws-sdk-s3
    HTTP 206 Partial Content https://index.rubygems.org/info/actionview
    HTTP GET https://index.rubygems.org/info/aws-sdk-kms
    HTTP GET https://index.rubygems.org/info/activerecord
    HTTP GET https://index.rubygems.org/info/aws-partitions
    HTTP GET https://index.rubygems.org/info/aws-sdk-sns
    HTTP GET https://index.rubygems.org/info/aws-sdk-core
    HTTP GET https://index.rubygems.org/info/chunky_png
    HTTP GET https://index.rubygems.org/info/msgpack
    HTTP 206 Partial Content https://index.rubygems.org/info/i18n
    HTTP 206 Partial Content https://index.rubygems.org/info/nokogiri
    HTTP 206 Partial Content https://index.rubygems.org/info/activemodel
    HTTP 206 Partial Content https://index.rubygems.org/info/activejob
    HTTP 206 Partial Content https://index.rubygems.org/info/tzinfo
    HTTP 206 Partial Content https://index.rubygems.org/info/loofah
    HTTP 206 Partial Content https://index.rubygems.org/info/css_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-kms
    HTTP 206 Partial Content https://index.rubygems.org/info/activesupport
    HTTP GET https://index.rubygems.org/info/thor
    HTTP GET https://index.rubygems.org/info/railties
    HTTP 206 Partial Content https://index.rubygems.org/info/actionmailer
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-partitions
    HTTP 206 Partial Content https://index.rubygems.org/info/chunky_png
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-sns
    HTTP 206 Partial Content https://index.rubygems.org/info/actionpack
    HTTP 206 Partial Content https://index.rubygems.org/info/concurrent-ruby
    HTTP GET https://index.rubygems.org/info/faraday-net_http
    HTTP 206 Partial Content https://index.rubygems.org/info/railties
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-s3
    HTTP 206 Partial Content https://index.rubygems.org/info/aws-sdk-core
    HTTP 206 Partial Content https://index.rubygems.org/info/activerecord
    HTTP 206 Partial Content https://index.rubygems.org/info/minitest
    HTTP 206 Partial Content https://index.rubygems.org/info/thor
    HTTP GET https://index.rubygems.org/info/ruby2_keywords
    HTTP GET https://index.rubygems.org/info/faraday
    HTTP 206 Partial Content https://index.rubygems.org/info/ruby2_keywords
    HTTP 206 Partial Content https://index.rubygems.org/info/msgpack
    HTTP GET https://index.rubygems.org/info/fastimage
    HTTP 200 OK https://index.rubygems.org/info/faraday-net_http
    HTTP 206 Partial Content https://index.rubygems.org/info/faraday
    HTTP GET https://index.rubygems.org/info/json
    HTTP 206 Partial Content https://index.rubygems.org/info/json
    HTTP GET https://index.rubygems.org/info/logster
    HTTP GET https://index.rubygems.org/info/mini_suffix
    HTTP GET https://index.rubygems.org/info/rack-mini-profiler
    HTTP 206 Partial Content https://index.rubygems.org/info/fastimage
    HTTP GET https://index.rubygems.org/info/mini_sql
    HTTP GET https://index.rubygems.org/info/oauth
    HTTP GET https://index.rubygems.org/info/sidekiq
    HTTP GET https://index.rubygems.org/info/omniauth-oauth2
    HTTP 206 Partial Content https://index.rubygems.org/info/rack-mini-profiler
    HTTP GET https://index.rubygems.org/info/omniauth-github
    HTTP GET https://index.rubygems.org/info/omniauth
    HTTP GET https://index.rubygems.org/info/onebox
    HTTP GET https://index.rubygems.org/info/oj
    HTTP GET https://index.rubygems.org/info/sanitize
    HTTP 206 Partial Content https://index.rubygems.org/info/logster
    HTTP 206 Partial Content https://index.rubygems.org/info/oj
    HTTP 206 Partial Content https://index.rubygems.org/info/omniauth
    HTTP 206 Partial Content https://index.rubygems.org/info/mini_suffix
    HTTP 206 Partial Content https://index.rubygems.org/info/omniauth-github
    HTTP GET https://index.rubygems.org/info/rqrcode
    HTTP GET https://index.rubygems.org/info/rqrcode_core
    HTTP 206 Partial Content https://index.rubygems.org/info/mini_sql
    HTTP GET https://index.rubygems.org/info/unicorn
    HTTP 206 Partial Content https://index.rubygems.org/info/sanitize
    HTTP 206 Partial Content https://index.rubygems.org/info/omniauth-oauth2
    HTTP 206 Partial Content https://index.rubygems.org/info/oauth
    HTTP 206 Partial Content https://index.rubygems.org/info/rqrcode_core
    HTTP 206 Partial Content https://index.rubygems.org/info/rqrcode
    HTTP 206 Partial Content https://index.rubygems.org/info/sidekiq
    HTTP 206 Partial Content https://index.rubygems.org/info/unicorn
    HTTP 206 Partial Content https://index.rubygems.org/info/onebox
    Looking up gems ["rails-deprecated_sanitizer", "atomic", "mime-types", "treetop", "tlsmail", "rspec", "json_pure", "jsonapi", "case_transform", "jsonapi-renderer", "ember-template-compiler-source", "handlebars-source", "columnize", "debugger-linecache", "slop", "rb-readline", "snappy", "hike", "ruby_parser", "rails", "hoe", "weakling", "mini_portile", "mini_portile2", "pkg-config", "rb-appscript", "xattr", "ffi-xattr", "bcrypt-ruby", "erubis", "rake-compiler", "activemodel-globalid", "functional-ruby", "ref", "memcache-client", "termios", "text-format", "rdoc", "stud", "eventmachine", "thin", "faraday-middleware", "httpauth", "rack-mount", "rack-cache", "journey", "jamespath", "http-2", "win32console", "yard", "spoon", "arel", "activerecord-deprecated_finders", "pry-doc", "listen", "escape_utils", "trollop", "rack-ssl", "base32", "sass", "bundler", "therubyracer", "bigdecimal", "oa-core", "oa-oauth", "oa-openid", "oa-basic", "oa-enterprise", "oa-more", "hpricot", "ruby-hmac", "celluloid", "compass", "sprockets-sass", "sinatra", "slim", "moneta", "opengraph_parser", "verbal_expressions", "hexpress", "pdf-reader"]
    HTTP GET https://index.rubygems.org/info/hoe
    HTTP GET https://index.rubygems.org/info/json_pure
    HTTP 206 Partial Content https://index.rubygems.org/info/hoe
    HTTP 206 Partial Content https://index.rubygems.org/info/json_pure
    HTTP GET https://index.rubygems.org/info/snappy
    HTTP GET https://index.rubygems.org/info/rails
    HTTP GET https://index.rubygems.org/info/ruby_parser
    HTTP GET https://index.rubygems.org/info/http-2
    HTTP GET https://index.rubygems.org/info/yard
    HTTP GET https://index.rubygems.org/info/bundler
    HTTP GET https://index.rubygems.org/info/listen
    HTTP 206 Partial Content https://index.rubygems.org/info/snappy
    HTTP 206 Partial Content https://index.rubygems.org/info/rails
    HTTP 206 Partial Content https://index.rubygems.org/info/ruby_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/yard
    HTTP 206 Partial Content https://index.rubygems.org/info/http-2
    HTTP 206 Partial Content https://index.rubygems.org/info/bundler
    HTTP 206 Partial Content https://index.rubygems.org/info/listen
    Looking up gems ["mime-types-data", "ruby_core_source", "debugger-ruby_core_source", "facets", "polyglot", "jsonapi-parser", "rspec-core", "rspec-expectations", "rspec-mocks", "bcrypt", "abstract", "text-hyphen", "multimap", "ZenTest", "RubyInline", "daemons", "metriks", "rack-openid", "ruby-openid-apps-discovery", "restclient", "rest-client", "curses", "sass-listen", "net-ldap", "rubyntlm", "pyu-ruby-sasl", "uuid", "XMLCanonicalizer", "timers", "facter", "celluloid-essentials", "celluloid-extras", "celluloid-fsm", "celluloid-pool", "celluloid-supervision", "dotenv", "nenv", "rspec-logsplit", "Ascii85", "ruby-rc4", "hashery", "afm", "ttfunk", "haml", "fssm", "compass-core", "compass-import-once", "rb-fsevent", "rb-inotify", "sprockets-helpers", "mongrel", "backports", "mustermann", "temple", "rubyforge", "gemcutter", "spruz", "snappy-jars", "activeresource", "actionwebservice", "actioncable", "activestorage", "actionmailbox", "actiontext", "ParseTree", "sexp_processor", "rb-fchange", "rb-kqueue", "celluloid-io", "ruby_dep"]
    HTTP GET https://index.rubygems.org/info/rspec-core
    HTTP GET https://index.rubygems.org/info/rspec-mocks
    HTTP GET https://index.rubygems.org/info/rspec-expectations
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-core
    HTTP GET https://index.rubygems.org/info/ttfunk
    HTTP GET https://index.rubygems.org/info/facter
    HTTP GET https://index.rubygems.org/info/activestorage
    HTTP GET https://index.rubygems.org/info/actionmailbox
    HTTP GET https://index.rubygems.org/info/actiontext
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-mocks
    HTTP GET https://index.rubygems.org/info/backports
    HTTP GET https://index.rubygems.org/info/actioncable
    HTTP GET https://index.rubygems.org/info/sexp_processor
    HTTP 206 Partial Content https://index.rubygems.org/info/ttfunk
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-expectations
    HTTP 206 Partial Content https://index.rubygems.org/info/facter
    HTTP 206 Partial Content https://index.rubygems.org/info/activestorage
    HTTP 206 Partial Content https://index.rubygems.org/info/actionmailbox
    HTTP 206 Partial Content https://index.rubygems.org/info/actiontext
    HTTP 206 Partial Content https://index.rubygems.org/info/actioncable
    HTTP 206 Partial Content https://index.rubygems.org/info/sexp_processor
    HTTP 206 Partial Content https://index.rubygems.org/info/backports
    Looking up gems ["ruby-openid", "archive-tar-minitar", "hitimes", "rbtree", "faraday_middleware", "yajl-ruby", "avl_tree", "netrc", "http-cookie", "http-accept", "log4r", "macaddr", "coveralls", "rubocop", "celluloid-gems", "dotenv-deployment", "blankslate", "cgi_multipart_eof_fix", "fastthread", "gem_plugin", "tool", "net-scp", "rails-observers", "activemodel-serializers-xml", "SexpProcessor", "win32-api", "rspec-support", "diff-lcs", "CFPropertyList", "sys-admin", "win32-dir", "windows-api", "windows-pr", "win32-security", "hocon", "marcel", "mimemagic", "coffee-rails", "em-hiredis", "faye-websocket", "websocket-driver"]
    HTTP GET https://index.rubygems.org/info/rbtree
    HTTP GET https://index.rubygems.org/info/rubocop
    HTTP GET https://index.rubygems.org/info/rspec-support
    HTTP GET https://index.rubygems.org/info/sys-admin
    HTTP 206 Partial Content https://index.rubygems.org/info/rubocop
    HTTP 206 Partial Content https://index.rubygems.org/info/sys-admin
    HTTP 206 Partial Content https://index.rubygems.org/info/rbtree
    HTTP 206 Partial Content https://index.rubygems.org/info/rspec-support
    Looking up gems ["ruby-yadis", "configuration", "mkrf", "roauth", "domain_name", "sqlite3", "test-unit", "minitar", "minitar-cli", "systemu", "net-ssh", "colorize", "simplecov", "term-ansicolor", "tins", "coffee-script", "ffi-win32-extensions", "libxml-ruby", "hiredis", "websocket-extensions", "rainbow", "parser", "powerpack", "ruby-progressbar", "astrolabe", "unicode-display_width", "parallel", "jaro_winkler", "psych", "rexml", "rubocop-ast", "regexp_parser"]
    HTTP GET https://index.rubygems.org/info/simplecov
    HTTP GET https://index.rubygems.org/info/parser
    HTTP GET https://index.rubygems.org/info/unicode-display_width
    HTTP GET https://index.rubygems.org/info/ruby-progressbar
    HTTP GET https://index.rubygems.org/info/tins
    HTTP GET https://index.rubygems.org/info/test-unit
    HTTP GET https://index.rubygems.org/info/psych
    HTTP GET https://index.rubygems.org/info/rubocop-ast
    HTTP GET https://index.rubygems.org/info/regexp_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/simplecov
    HTTP 206 Partial Content https://index.rubygems.org/info/rubocop-ast
    HTTP 206 Partial Content https://index.rubygems.org/info/unicode-display_width
    HTTP 206 Partial Content https://index.rubygems.org/info/ruby-progressbar
    HTTP 206 Partial Content https://index.rubygems.org/info/regexp_parser
    HTTP 206 Partial Content https://index.rubygems.org/info/parser
    HTTP 206 Partial Content https://index.rubygems.org/info/test-unit
    HTTP 206 Partial Content https://index.rubygems.org/info/tins
    HTTP 206 Partial Content https://index.rubygems.org/info/psych
    Looking up gems ["powerbar", "needle", "jruby-pageant", "bcrypt_pbkdf", "rbnacl", "rbnacl-libsodium", "coffee-script-source", "simplecov-html", "docile", "lockfile", "simplecov_json_formatter", "strscan", "ast", "jar-dependencies", "power_assert", "sync"]
    HTTP GET https://index.rubygems.org/info/docile
    HTTP GET https://index.rubygems.org/info/bcrypt_pbkdf
    HTTP GET https://index.rubygems.org/info/ast
    HTTP GET https://index.rubygems.org/info/power_assert
    HTTP 206 Partial Content https://index.rubygems.org/info/docile
    HTTP 206 Partial Content https://index.rubygems.org/info/bcrypt_pbkdf
    HTTP 206 Partial Content https://index.rubygems.org/info/ast
    HTTP 206 Partial Content https://index.rubygems.org/info/power_assert
    Looking up gems ["ruby-maven", "ansi", "pattern-match"]
    Looking up gems ["maven-tools", "ruby-maven-libs"]
    Looking up gems ["virtus"]
    Looking up gems ["descendants_tracker", "axiom-types", "coercible", "equalizer"]
    Looking up gems ["adamantium", "ice_nine"]
    Looking up gems ["memoizable"]
    Fetching rake 13.0.3
    Installing rake 13.0.3
    0:  rake (13.0.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.3.gemspec
    Using thread_safe 0.3.6
    Using zeitwerk 2.4.2
    3:  thread_safe (0.3.6) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/thread_safe-0.3.6.gemspec
    Fetching minitest 5.14.3
    Using builder 3.2.4
    0:  zeitwerk (2.4.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/zeitwerk-2.4.2.gemspec
    Using erubi 1.10.0
    Fetching concurrent-ruby 1.1.8
    0:  erubi (1.10.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/erubi-1.10.0.gemspec
    3:  builder (3.2.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/builder-3.2.4.gemspec
    Fetching racc 1.5.2
    Using crass 1.0.6
    0:  crass (1.0.6) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/crass-1.0.6.gemspec
    Using rack 2.2.3
    0:  rack (2.2.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-2.2.3.gemspec
    Using mini_mime 1.0.2
    0:  mini_mime (1.0.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_mime-1.0.2.gemspec
    Using public_suffix 4.0.6
    0:  public_suffix (4.0.6) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/public_suffix-4.0.6.gemspec
    Using aws-eventstream 1.1.0
    0:  aws-eventstream (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-eventstream-1.1.0.gemspec
    Using aws-partitions 1.390.0
    0:  aws-partitions (1.390.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-partitions-1.390.0.gemspec
    Using jmespath 1.4.0
    0:  jmespath (1.4.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/jmespath-1.4.0.gemspec
    Using ember-source 2.18.2
    0:  ember-source (2.18.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ember-source-2.18.2.gemspec
    Using execjs 2.7.0
    0:  execjs (2.7.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/execjs-2.7.0.gemspec
    Using msgpack 1.3.3
    0:  msgpack (1.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/msgpack-1.3.3.gemspec
    Using bundler 2.2.7
    0:  bundler (2.2.7) from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/source
    Using byebug 11.1.3
    0:  byebug (11.1.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/byebug-11.1.3.gemspec
    Using cbor 0.5.9.6
    0:  cbor (0.5.9.6) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cbor-0.5.9.6.gemspec
    Fetching chunky_png 1.4.0
    Installing minitest 5.14.3
    Installing concurrent-ruby 1.1.8
    Installing racc 1.5.2 with native extensions
    Installing chunky_png 1.4.0
    2:  minitest (5.14.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/minitest-5.14.3.gemspec
    Using coderay 1.1.3
    2:  coderay (1.1.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/coderay-1.1.3.gemspec
    Using colored2 3.1.2
    2:  colored2 (3.1.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/colored2-3.1.2.gemspec
    Using connection_pool 2.2.3
    2:  connection_pool (2.2.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/connection_pool-2.2.3.gemspec
    Using openssl-signature_algorithm 1.0.0
    2:  openssl-signature_algorithm (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/openssl-signature_algorithm-1.0.0.gemspec
    Using cppjieba_rb 0.3.3
    2:  cppjieba_rb (0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cppjieba_rb-0.3.3.gemspec
    Using diffy 3.4.0
    2:  diffy (3.4.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/diffy-3.4.0.gemspec
    Using method_source 1.0.0
    2:  method_source (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/method_source-1.0.0.gemspec
    Fetching thor 1.1.0
    Installing thor 1.1.0
    Building native extensions. This could take a while...
    1:  concurrent-ruby (1.1.8) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/concurrent-ruby-1.1.8.gemspec
    2:  thor (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/thor-1.1.0.gemspec
    Using discourse-ember-source 3.12.2.2
    1:  discourse-ember-source (3.12.2.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-ember-source-3.12.2.2.gemspec
    Using discourse-fonts 0.0.5
    Using exifr 1.3.9
    2:  exifr (1.3.9) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/exifr-1.3.9.gemspec
    Using fspath 3.1.2
    2:  fspath (3.1.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fspath-3.1.2.gemspec
    Using image_size 1.5.0
    2:  image_size (1.5.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/image_size-1.5.0.gemspec
    Using in_threads 1.5.4
    2:  in_threads (1.5.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/in_threads-1.5.4.gemspec
    Using progress 3.5.2
    2:  progress (3.5.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/progress-3.5.2.gemspec
    Using email_reply_trimmer 0.1.13
    2:  email_reply_trimmer (0.1.13) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/email_reply_trimmer-0.1.13.gemspec
    Using excon 0.78.1
    2:  excon (0.78.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/excon-0.78.1.gemspec
    1:  discourse-fonts (0.0.5) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-fonts-0.0.5.gemspec
    Using multipart-post 2.1.1
    1:  multipart-post (2.1.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/multipart-post-2.1.1.gemspec
    Fetching ruby2_keywords 0.0.4
    Fetching faraday-net_http 1.0.1
    Installing faraday-net_http 1.0.1
    Installing ruby2_keywords 0.0.4
    2:  faraday-net_http (1.0.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/faraday-net_http-1.0.1.gemspec
    1:  ruby2_keywords (0.0.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ruby2_keywords-0.0.4.gemspec
    Using fast_blank 1.0.0
    2:  fast_blank (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fast_blank-1.0.0.gemspec
    Using fast_xs 0.8.0
    2:  fast_xs (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fast_xs-0.8.0.gemspec
    Fetching fastimage 2.2.1
    Fetching ffi 1.14.2
    Installing fastimage 2.2.1
    0:  chunky_png (1.4.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/chunky_png-1.4.0.gemspec
    Using gc_tracer 1.5.1
    0:  gc_tracer (1.5.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/gc_tracer-1.5.1.gemspec
    Using guess_html_encoding 0.0.11
    0:  guess_html_encoding (0.0.11) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/guess_html_encoding-0.0.11.gemspec
    Using hashie 4.1.0
    0:  hashie (4.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/hashie-4.1.0.gemspec
    Using highline 2.0.3
    0:  highline (2.0.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/highline-2.0.3.gemspec
    Using hkdf 0.3.0
    0:  hkdf (0.3.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/hkdf-0.3.0.gemspec
    Using htmlentities 4.3.4
    0:  htmlentities (4.3.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/htmlentities-4.3.4.gemspec
    Using http_accept_language 2.1.1
    0:  http_accept_language (2.1.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/http_accept_language-2.1.1.gemspec
    2:  fastimage (2.2.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/fastimage-2.2.1.gemspec
    Using jwt 2.2.2
    Fetching json 2.5.1
    2:  jwt (2.2.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/jwt-2.2.2.gemspec
    Using kgio 2.11.3
    2:  kgio (2.11.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/kgio-2.11.3.gemspec
    Using libv8 8.4.255.0 (x86_64-linux)
    2:  libv8 (8.4.255.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/libv8-8.4.255.0-x86_64-linux.gemspec
    Using logstash-event 1.2.02
    2:  logstash-event (1.2.02) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/logstash-event-1.2.02.gemspec
    Fetching logster 2.9.5
    Installing ffi 1.14.2 with native extensions
    Installing json 2.5.1 with native extensions
    Installing logster 2.9.5
    Building native extensions. This could take a while...
    3:  racc (1.5.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/racc-1.5.2.gemspec
    2:  logster (2.9.5) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/logster-2.9.5.gemspec
    Using lru_redux 1.1.0
    3:  lru_redux (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/lru_redux-1.1.0.gemspec
    Using lz4-ruby 0.3.3
    3:  lz4-ruby (0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/lz4-ruby-0.3.3.gemspec
    Using maxminddb 0.1.22
    3:  maxminddb (0.1.22) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/maxminddb-0.1.22.gemspec
    Using memory_profiler 1.0.0
    3:  memory_profiler (1.0.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/memory_profiler-1.0.0.gemspec
    Using redis 4.2.5
    3:  redis (4.2.5) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/redis-4.2.5.gemspec
    Using multi_json 1.15.0
    2:  multi_json (1.15.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/multi_json-1.15.0.gemspec
    Using multi_xml 0.6.0
    2:  multi_xml (0.6.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/multi_xml-0.6.0.gemspec
    Using mustache 1.1.1
    2:  mustache (1.1.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mustache-1.1.1.gemspec
    Using nio4r 2.5.4
    Fetching mini_sql 1.0.1
    2:  nio4r (2.5.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nio4r-2.5.4.gemspec
    Fetching oauth 0.5.5
    Installing oauth 0.5.5
    Installing mini_sql 1.0.1
    3:  mini_sql (1.0.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_sql-1.0.1.gemspec
    2:  oauth (0.5.5) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oauth-0.5.5.gemspec
    Using optimist 3.0.1
    2:  optimist (3.0.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/optimist-3.0.1.gemspec
    Using pg 1.2.3
    Fetching oj 3.11.1
    2:  pg (1.2.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pg-1.2.3.gemspec
    Using r2 0.2.7
    2:  r2 (0.2.7) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/r2-0.2.7.gemspec
    Using raindrops 0.19.1
    2:  raindrops (0.19.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/raindrops-0.19.1.gemspec
    Using rchardet 1.8.0
    2:  rchardet (1.8.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rchardet-1.8.0.gemspec
    Using rinku 2.0.6
    2:  rinku (2.0.6) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rinku-2.0.6.gemspec
    Using rotp 6.2.0
    2:  rotp (6.2.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rotp-6.2.0.gemspec
    Fetching rqrcode_core 0.2.0
    Installing rqrcode_core 0.2.0
    Installing oj 3.11.1 with native extensions
    2:  rqrcode_core (0.2.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rqrcode_core-0.2.0.gemspec
    Using rtlit 0.0.5
    2:  rtlit (0.0.5) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rtlit-0.0.5.gemspec
    Using rubyzip 2.3.0
    2:  rubyzip (2.3.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rubyzip-2.3.0.gemspec
    Using tilt 2.0.10
    2:  tilt (2.0.10) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/tilt-2.0.10.gemspec
    Using sshkey 2.0.0
    2:  sshkey (2.0.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sshkey-2.0.0.gemspec
    Using stackprof 0.2.16
    2:  stackprof (0.2.16) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/stackprof-0.2.16.gemspec
    Using unf_ext 0.0.7.7
    2:  unf_ext (0.0.7.7) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/unf_ext-0.0.7.7.gemspec
    Using xorcist 1.1.2
    2:  xorcist (1.1.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/xorcist-1.1.2.gemspec
    Using tzinfo 1.2.9
    2:  tzinfo (1.2.9) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/tzinfo-1.2.9.gemspec
    Using rack-test 1.1.0
    2:  rack-test (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-test-1.1.0.gemspec
    Using request_store 1.5.0
    2:  request_store (1.5.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/request_store-1.5.0.gemspec
    Using message_bus 3.3.4
    2:  message_bus (3.3.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/message_bus-3.3.4.gemspec
    Fetching rack-mini-profiler 2.3.0
    Installing rack-mini-profiler 2.3.0
    Building native extensions. This could take a while...
    Building native extensions. This could take a while...
    2:  rack-mini-profiler (2.3.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-mini-profiler-2.3.0.gemspec
    Using rack-protection 2.1.0
    2:  rack-protection (2.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rack-protection-2.1.0.gemspec
    Using mail 2.7.1
    2:  mail (2.7.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mail-2.7.1.gemspec
    Using addressable 2.7.0
    2:  addressable (2.7.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/addressable-2.7.0.gemspec
    Using aws-sigv4 1.2.2
    2:  aws-sigv4 (1.2.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sigv4-1.2.2.gemspec
    Using ember-data-source 3.0.2
    2:  ember-data-source (3.0.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ember-data-source-3.0.2.gemspec
    Using barber 0.12.2
    2:  barber (0.12.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/barber-0.12.2.gemspec
    Using uglifier 4.2.0
    2:  uglifier (4.2.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/uglifier-4.2.0.gemspec
    Using bootsnap 1.5.1
    2:  bootsnap (1.5.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/bootsnap-1.5.1.gemspec
    Using cose 1.2.0
    2:  cose (1.2.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cose-1.2.0.gemspec
    Using pry 0.13.1
    2:  pry (0.13.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pry-0.13.1.gemspec
    Fetching i18n 1.8.7
    Installing i18n 1.8.7

    HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
    But that may break your application.

    If you are upgrading your Rails application from an older version of Rails:

    Please check your Rails app for 'config.i18n.fallbacks = true'.
    If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
    'config.i18n.fallbacks = [I18n.default_locale]'.
    If not, fallbacks will be broken in your app by I18n 1.1.x.

    If you are starting a NEW Rails application, you can ignore this notice.

    For more info see:
    https://github.com/svenfuchs/i18n/releases/tag/v1.1.0

    2:  i18n (1.8.7) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/i18n-1.8.7.gemspec
    Using sprockets 3.7.2
    2:  sprockets (3.7.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sprockets-3.7.2.gemspec
    Using discourse_image_optim 0.26.2
    2:  discourse_image_optim (0.26.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse_image_optim-0.26.2.gemspec
    Fetching faraday 1.3.0
    Installing faraday 1.3.0
    2:  faraday (1.3.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/faraday-1.3.0.gemspec
    Using omniauth 1.9.1
    2:  omniauth (1.9.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-1.9.1.gemspec
    Using webpush 1.1.0
    2:  webpush (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/webpush-1.1.0.gemspec
    Using mini_racer 0.3.1
    2:  mini_racer (0.3.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_racer-0.3.1.gemspec
    Using logstash-logger 0.26.1
    2:  logstash-logger (0.26.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/logstash-logger-0.26.1.gemspec
    Fetching nokogiri 1.11.1 (x86_64-linux)
    Installing nokogiri 1.11.1 (x86_64-linux)
    2:  nokogiri (1.11.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nokogiri-1.11.1-x86_64-linux.gemspec
    Fetching sidekiq 6.1.3
    Installing sidekiq 6.1.3
    2:  sidekiq (6.1.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sidekiq-6.1.3.gemspec
    0:  json (2.5.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/json-2.5.1.gemspec
    Using redis-namespace 1.8.0
    2:  redis-namespace (1.8.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/redis-namespace-1.8.0.gemspec
    Using puma 5.1.1
    2:  puma (5.1.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/puma-5.1.1.gemspec
    Fetching unicorn 5.8.0
    Fetching rqrcode 1.2.0
    Installing rqrcode 1.2.0
    Installing unicorn 5.8.0 with native extensions
    0:  rqrcode (1.2.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rqrcode-1.2.0.gemspec
    Using unf 0.1.4
    0:  unf (0.1.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/unf-0.1.4.gemspec
    Using aws-sdk-core 3.109.2
    0:  aws-sdk-core (3.109.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-core-3.109.2.gemspec
    Fetching css_parser 1.8.0
    Installing css_parser 1.8.0
    Building native extensions. This could take a while...
    0:  css_parser (1.8.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/css_parser-1.8.0.gemspec
    Using pry-byebug 3.9.0
    0:  pry-byebug (3.9.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pry-byebug-3.9.0.gemspec
    Using pry-rails 0.3.9
    0:  pry-rails (0.3.9) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/pry-rails-0.3.9.gemspec
    Using activesupport 6.0.3.3
    0:  activesupport (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activesupport-6.0.3.3.gemspec
    Using ember-handlebars-template 0.8.0
    0:  ember-handlebars-template (0.8.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ember-handlebars-template-0.8.0.gemspec
    Using oauth2 1.4.4
    0:  oauth2 (1.4.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oauth2-1.4.4.gemspec
    Using omniauth-oauth 1.1.0
    0:  omniauth-oauth (1.1.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-oauth-1.1.0.gemspec
    Fetching loofah 2.9.0
    Installing loofah 2.9.0
    0:  loofah (2.9.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/loofah-2.9.0.gemspec
    Using nokogumbo 2.0.4
    0:  nokogumbo (2.0.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nokogumbo-2.0.4.gemspec
    Using ruby-readability 0.7.0
    0:  ruby-readability (0.7.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ruby-readability-0.7.0.gemspec
    Using mini_scheduler 0.13.0
    0:  mini_scheduler (0.13.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_scheduler-0.13.0.gemspec
    Using aws-sdk-kms 1.39.0
    0:  aws-sdk-kms (1.39.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-kms-1.39.0.gemspec
    Using aws-sdk-sns 1.35.0
    0:  aws-sdk-sns (1.35.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-sns-1.35.0.gemspec
    Using rails-dom-testing 2.0.3
    0:  rails-dom-testing (2.0.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails-dom-testing-2.0.3.gemspec
    Using globalid 0.4.2
    0:  globalid (0.4.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/globalid-0.4.2.gemspec
    Using activemodel 6.0.3.3
    0:  activemodel (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activemodel-6.0.3.3.gemspec
    Fetching omniauth-oauth2 1.7.1
    Installing omniauth-oauth2 1.7.1
    0:  omniauth-oauth2 (1.7.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-oauth2-1.7.1.gemspec
    Using omniauth-twitter 1.4.0
    0:  omniauth-twitter (1.4.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-twitter-1.4.0.gemspec
    Using rails-html-sanitizer 1.3.0
    0:  rails-html-sanitizer (1.3.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails-html-sanitizer-1.3.0.gemspec
    Using activejob 6.0.3.3
    0:  activejob (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activejob-6.0.3.3.gemspec
    Using active_model_serializers 0.8.4
    0:  active_model_serializers (0.8.4) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/active_model_serializers-0.8.4.gemspec
    Using activerecord 6.0.3.3
    0:  activerecord (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/activerecord-6.0.3.3.gemspec
    Using aws-sdk-s3 1.83.2
    0:  aws-sdk-s3 (1.83.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/aws-sdk-s3-1.83.2.gemspec
    Fetching sanitize 5.2.3
    Installing sanitize 5.2.3
    0:  sanitize (5.2.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sanitize-5.2.3.gemspec
    Using actionview 6.0.3.3
    0:  actionview (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionview-6.0.3.3.gemspec
    Using omniauth-facebook 8.0.0
    0:  omniauth-facebook (8.0.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-facebook-8.0.0.gemspec
    Using omniauth-github 1.4.0
    0:  omniauth-github (1.4.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-github-1.4.0.gemspec
    Using omniauth-google-oauth2 0.8.1
    0:  omniauth-google-oauth2 (0.8.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/omniauth-google-oauth2-0.8.1.gemspec
    Using seed-fu 2.3.9
    0:  seed-fu (2.3.9) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/seed-fu-2.3.9.gemspec
    Fetching onebox 2.2.2
    Installing onebox 2.2.2
    0:  onebox (2.2.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/onebox-2.2.2.gemspec
    Using actionpack 6.0.3.3
    0:  actionpack (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionpack-6.0.3.3.gemspec
    Using actionview_precompiler 0.2.3
    0:  actionview_precompiler (0.2.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionview_precompiler-0.2.3.gemspec
    Using actionmailer 6.0.3.3
    0:  actionmailer (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/actionmailer-6.0.3.3.gemspec
    Using railties 6.0.3.3
    0:  railties (6.0.3.3) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/railties-6.0.3.3.gemspec
    Using rails_failover 0.6.5
    0:  rails_failover (0.6.5) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails_failover-0.6.5.gemspec
    Using rails_multisite 2.5.0
    0:  rails_multisite (2.5.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails_multisite-2.5.0.gemspec
    Using sprockets-rails 3.2.2
    0:  sprockets-rails (3.2.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sprockets-rails-3.2.2.gemspec
    Using jquery-rails 4.4.0
    0:  jquery-rails (4.4.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/jquery-rails-4.4.0.gemspec
    Using lograge 0.11.2
    0:  lograge (0.11.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/lograge-0.11.2.gemspec
    Using discourse-ember-rails 0.18.6
    0:  discourse-ember-rails (0.18.6) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-ember-rails-0.18.6.gemspec
    2:  unicorn (5.8.0) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/unicorn-5.8.0.gemspec
    3:  oj (3.11.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oj-3.11.1.gemspec
    1:  ffi (1.14.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ffi-1.14.2.gemspec
    Using rbtrace 0.4.14
    Using sassc 2.0.1
    2:  rbtrace (0.4.14) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rbtrace-0.4.14.gemspec
    3:  sassc (2.0.1) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-2.0.1.gemspec
    Using sassc-rails 2.1.2
    Fetching mini_suffix 0.3.2
    1:  sassc-rails (2.1.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-rails-2.1.2.gemspec
    Installing mini_suffix 0.3.2
    0:  mini_suffix (0.3.2) from /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_suffix-0.3.2.gemspec
    Bundle complete! 123 Gemfile dependencies, 161 gems now installed.
    Gems in the groups test and development were not installed.
    Bundled gems are installed into `./vendor/bundle`
    Post-install message from i18n:

    HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
    But that may break your application.

    If you are upgrading your Rails application from an older version of Rails:

    Please check your Rails app for 'config.i18n.fallbacks = true'.
    If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
    'config.i18n.fallbacks = [I18n.default_locale]'.
    If not, fallbacks will be broken in your app by I18n 1.1.x.

    If you are starting a NEW Rails application, you can ignore this notice.

    For more info see:
    https://github.com/svenfuchs/i18n/releases/tag/v1.1.0


    I, [2021-01-27T02:24:39.339282 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
    I, [2021-01-27T02:24:43.515304 #1]  INFO -- : discourse-solved is already at latest compatible version
    docker_manager is already at latest compatible version
    discourse-feature-voting is already at latest compatible version

    I, [2021-01-27T02:24:43.515578 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
    rake aborted!
    StandardError: An error has occurred, all later migrations canceled:

    PG::SyntaxError: ERROR:  syntax error at or near "NOT"
    LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
                          ^
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `async_exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:91:in `block in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:890:in `block in method_missing'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `block in say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:879:in `method_missing'
    /var/www/discourse/db/migrate/20200429095034_add_topic_thumbnail_information.rb:9:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:831:in `exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:812:in `block (2 levels) in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:811:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in `with_connection'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:810:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1002:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1310:in `block in execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1363:in `ddl_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1309:in `execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1281:in `block in migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `each'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1382:in `with_advisory_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1061:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1036:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
    /var/www/discourse/lib/tasks/db.rake:215:in `block in <main>'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    /usr/local/bin/bundle:23:in `load'
    /usr/local/bin/bundle:23:in `<main>'

    Caused by:
    ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR:  syntax error at or near "NOT"
    LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
                          ^
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `async_exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:91:in `block in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:890:in `block in method_missing'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `block in say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:879:in `method_missing'
    /var/www/discourse/db/migrate/20200429095034_add_topic_thumbnail_information.rb:9:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:831:in `exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:812:in `block (2 levels) in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:811:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in `with_connection'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:810:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1002:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1310:in `block in execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1363:in `ddl_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1309:in `execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1281:in `block in migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `each'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1382:in `with_advisory_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1061:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1036:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
    /var/www/discourse/lib/tasks/db.rake:215:in `block in <main>'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    /usr/local/bin/bundle:23:in `load'
    /usr/local/bin/bundle:23:in `<main>'

    Caused by:
    PG::SyntaxError: ERROR:  syntax error at or near "NOT"
    LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
                          ^
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.3.0/lib/patches/db/pg.rb:110:in `async_exec'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:91:in `block in execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in `block (2 levels) in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:721:in `block in log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:712:in `log'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql/database_statements.rb:90:in `execute'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:890:in `block in method_missing'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `block in say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:858:in `say_with_time'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:879:in `method_missing'
    /var/www/discourse/db/migrate/20200429095034_add_topic_thumbnail_information.rb:9:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:831:in `exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
    /var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:812:in `block (2 levels) in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:811:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:471:in `with_connection'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:810:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1002:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1310:in `block in execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1363:in `ddl_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1309:in `execute_migration_in_transaction'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1281:in `block in migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `each'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1280:in `migrate_without_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `block in migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1382:in `with_advisory_lock'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1229:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1061:in `up'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/migration.rb:1036:in `migrate'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
    /var/www/discourse/lib/tasks/db.rake:215:in `block in <main>'
    /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
    /usr/local/bin/bundle:23:in `load'
    /usr/local/bin/bundle:23:in `<main>'
    Tasks: TOP => db:migrate
    (See full trace by running task with --trace)
    I, [2021-01-27T02:24:48.903485 #1]  INFO -- : == 20200429095034 AddTopicThumbnailInformation: migrating =====================
    -- execute("ALTER TABLE posts\nADD COLUMN IF NOT EXISTS image_upload_id bigint\n")

    I, [2021-01-27T02:24:48.903736 #1]  INFO -- : Terminating async processes
    I, [2021-01-27T02:24:48.903804 #1]  INFO -- : Sending INT to 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 pid: 51
    I, [2021-01-27T02:24:48.903846 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 168
    2021-01-27 02:24:48.903 UTC [51] LOG:  received fast shutdown request
    168:signal-handler (1611714288) Received SIGTERM scheduling shutdown...
    168:M 27 Jan 2021 02:24:48.954 # User requested shutdown...
    168:M 27 Jan 2021 02:24:48.954 * Saving the final RDB snapshot before exiting.
    2021-01-27 02:24:48.962 UTC [51] LOG:  aborting any active transactions
    2021-01-27 02:24:48.964 UTC [51] LOG:  background worker "logical replication launcher" (PID 60) exited with exit code 1
    168:M 27 Jan 2021 02:24:48.964 * DB saved on disk
    168:M 27 Jan 2021 02:24:48.964 # Redis is now ready to exit, bye bye...
    2021-01-27 02:24:48.964 UTC [55] LOG:  shutting down
    2021-01-27 02:24:48.993 UTC [51] LOG:  database system is shut down


    FAILED
    --------------------
    Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 3907 exit 1>
    Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
    exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
    9ba41a79ae37ba9321d60a2acd46a9b36b4990af29b46ad2c2ba011938a2972f

Exécutez-vous une instance PostgreSQL externe sur le même hôte ? Quelle version est en cours d’exécution ?

Oui, il s’agit bien d’Amazon RDS pour PostgreSQL et il exécute très probablement PostgreSQL 9.5, car nous n’avons effectué aucune mise à jour depuis longtemps.

Je me demande simplement s’il est possible de sauter la partie mise à niveau pour le moment et peut-être d’utiliser la version existante.

Ah, si vous utilisez RDS, la mise à niveau se résume à une simple commande aws CLI, c’est ça ?

Eh bien, une pour chaque étape du parcours 9.5 → 9.6 → 10 → 11 → 12 :sweat_smile:

Nous avons abandonné le support de PG 9.5 en 2018. Le fait qu’il ait fonctionné jusqu’à présent est dû au fait que vous étiez sur une ancienne version où nous n’utilisions pas les nouvelles fonctionnalités SQL.

De plus, si votre équipe ne souhaite pas gérer la partie hébergement, vous pouvez envisager de passer à notre hébergement géré. Vous nous envoyez la sauvegarde et nous nous chargeons de la mettre à niveau vers la dernière version.

Excellent, j’aimerais en savoir plus sur la manière de devenir client d’hébergement et sur les coûts associés. Pourriez-vous s’il vous plaît partager plus de détails ? Et merci beaucoup pour toute l’aide fournie jusqu’à présent.

Je voulais juste vous informer ici que notre problème a été résolu après la mise à jour de RDS vers la dernière version. Je vous remercie vraiment pour toute l’aide et les conseils apportés ici. Merci.

Superbe @Bharat_singh ! Vous bénéficierez également de meilleures performances grâce aux versions plus récentes de PostgreSQL.