Aggiornamento del forum alla versione v2.2.0.beta4 con modifiche locali sconosciute

Ciao,

Ho preso in carico l’amministrazione di un forum. La versione di Discourse è molto obsoleta. [v2.2.0.beta4 +241]

Ho bisogno di aggiornare tramite SSH, cosa che so fare, ma:

  1. Quando eseguo git pull dice: error: \"Your local changes to the following files would be overwritten by merge: image/base/Dockerfile Please commit your changes or stash them before you merge. Aborting\"
  2. La mia domanda è: quali sono le modifiche probabili e dovrei fare uno stash o un commit?
  3. Quando eseguo il comando ./launcher rebuild app, dice: "Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install. aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well. Other storage drivers are known to be problematic."

Ho controllato il sistema di archiviazione e risulta essere overlay2. Va bene, qual è la procedura o dovrei cambiarlo in aufs?

Grazie in anticipo

Il sistema operativo è probabilmente anche fuori supporto.

Ti consiglio di avviare una nuova vm e Spostare un sito Discourse su un altro VPS con rsync.

In questo modo, se qualcosa dovesse andare storto, il vecchio sito potrà continuare a funzionare.

Ho notato che questo thread è piuttosto vecchio e la versione di Ubuntu citata è la 14.04. Andrebbe bene usare l’ultima versione di Ubuntu?

Sì, molto probabilmente andrebbe bene.

L’ho aggiornato per dire LTS recente.

Non ho ancora usato la 24.04, ma mi aspetto che funzioni.

Ecco come stanno le cose. Ho eseguito “git diff” e l’unica modifica è stata l’unità su cui si trovava il file Docker. quindi ho creato un branch come segue:

git checkout -b master_backup_01

quindi ho eseguito:
git add .
git commit -m “modificata posizione root del dockerfile”

git checkout master
git pull
./launcher rebuild app

quindi ha scaricato e ricostruito con successo l’app. ma è successo qualcosa e ora il sito è inattivo. qual è la mia migliore opzione da qui? incollerò l’output nel prossimo post.

Benvenuto in Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-32-generic x86_64)

 * Documentazione:  https://help.ubuntu.com
 * Gestione:       https://landscape.canonical.com
 * Supporto:       https://ubuntu.com/advantage

  Informazioni di sistema aggiornate al mar 4 giu 2024 23:10:06 UTC

  Carico del sistema:  0.01                Processi:              178
  Utilizzo di /:   33,1% di 157,24 GB   Utenti connessi:        0
  Utilizzo memoria: 41%                 Indirizzo IP per eth0:    45.79.99.86
  Utilizzo swap:   12%                 Indirizzo IP per docker0: 172.17.0.1

 * Kubernetes rigorosamente confinato rende edge e IoT sicuri. Scopri come MicroK8s
   ha appena alzato l'asticella per il deployment di cluster K8s facili, resilienti e sicuri.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

 * Canonical Livepatch è disponibile per l'installazione.
   - Riduci i riavvii del sistema e migliora la sicurezza del kernel. Attiva su:
     https://ubuntu.com/livepatch

327 pacchetti possono essere aggiornati.
232 aggiornamenti sono aggiornamenti di sicurezza.


*** È necessario riavviare il sistema ***
Ultimo accesso: dom 2 giu 11:08:44 2024 da 1.145.60.141
root@idmforums:~# git diff
root@idmforums:~# cd /var/ idmforums
-bash: cd: troppi argomenti
root@idmforums:~# cd /var/idmforums
root@idmforums:/var/idmforums# git diff
diff --git a/image/base/Dockerfile b/image/base/Dockerfile
index 7ab5907..3f43ab8 100644
--- a/image/base/Dockerfile
+++ b/image/base/Dockerfile
@@ -10,6 +10,7 @@ ENV COMPRESS_BROTLI 1

 RUN echo 2.0.`date +%Y%m%d` > /VERSION

+RUN bundle config --global silence_root_warning 1
 RUN apt-get update && apt-get install -y lsb-release sudo curl
 RUN echo "debconf debconf/frontend select Teletype" | debconf-set-selections
 RUN echo "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main restricted universe" > /etc/apt/sources.list
root@idmforums:/var/idmforums# git status
Sulla branch master
La tua branch è indietro di 231 commit rispetto a 'origin/master', e può essere aggiornata con fast-forward.
  (usa "git pull" per aggiornare la tua branch locale)

Modifiche non preparate per il commit:
  (usa "git add <file>..." peraggiorna ciò che sarà committato)
  (usa "git checkout -- "<file>..." per scartare le modifiche nella directory di lavoro)

        modified:   image/base/Dockerfile

File non tracciati:
  (usa "git add <file>..." per includere ciò che sarà committato)

        Gemfile

nessuna modifica aggiunta al commit (usa "git add" e/o "git commit -a")
root@idmforums:/var/idmforums# git checkout -b master_backup_01
M       image/base/Dockerfile
Passato a un nuovo ramo 'master_backup_01'
root@idmforums:/var/idmforums# git add .
root@idmforums:/var/idmforums# git commit -m "changed root location of dockerfile"
[master_backup_01 3798d1a] changed root location of dockerfile
 Committer: root <root@mail.idmforums.com>
Il tuo nome e indirizzo email sono stati configurati automaticamente in base
al tuo nome utente e hostname. Verifica che siano corretti.
Puoi sopprimere questo messaggio impostandoli esplicitamente. Esegui il
comando seguente e segui le istruzioni nel tuo editor per modificare
il file di configurazione:

    git config --global --edit

Dopo averlo fatto, puoi correggere l'identità utilizzata per questo commit con:

    git commit --amend --reset-author

 2 files changed, 4 insertions(+)
 create mode 100644 Gemfile
root@idmforums:/var/idmforums# git checkout master
Passato al ramo 'master'
Il tuo ramo è indietro di 231 commit rispetto a 'origin/master' e può essere aggiornato con fast-forward.
  (usa "git pull" per aggiornare il tuo ramo locale)
root@idmforums:/var/idmforums# git pull
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 2 (delta 2), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/discourse/discourse_docker
   f4d4f8a..964236a  main       -> origin/main
Updating c786ffc..40169e8
Fast-forward
 .github/workflows/build.yml                                       |  81 +++++++
 LICENSE                                                           |  21 ++
 README.md                                                         |  55 +++--
 Vagrantfile                                                       |  38 ---
 discourse-doctor                                                  |  32 ++-
 discourse-setup                                                   | 578 +++++++++++++++++++++++++++++++---------------
 image/README.md                                                   |   2 +-
 image/auto_build.rb                                               |   3 +
 image/base/Dockerfile                                             |  91 ++++----
 image/base/boot                                                   |   2 +-
 image/base/install-gifsicle                                       |  11 -
 image/base/install-imagemagick                                    |  61 ++++-
 image/base/install-nginx                                          |  34 ++-
 image/base/install-pngcrush                                       |  11 -
 image/base/install-pngquant                                       |   8 -
 image/base/install-redis                                          |  36 +++
 image/base/rsyslog                                                |   1 +
 image/base/runit-1.d-00-fix-var-logs                              |   6 +-
 image/discourse_bench/Dockerfile                                  |   1 +
 image/discourse_dev/Dockerfile                                    |   8 +-
 image/discourse_dev/postgres_dev.template.yml                     |   9 +-
 image/discourse_fast_switch/Dockerfile                            |   4 +-
 image/discourse_fast_switch/create_switch.rb                      |   2 +-
 image/discourse_test/Dockerfile                                   |  17 +-
 launcher                                                          | 295 +++++++++++++----------
 samples/data.yml                                                  |   2 +
 samples/mail-receiver.yml                                         |  17 +-
 samples/redis.yml                                                 |   2 +
 samples/standalone.yml                                            |  12 +-
 samples/web_only.yml                                              |  13 +-
 scripts/docker-gc                                                 |   4 -
 templates/cache-dns.template.yml                                  |  19 ++
 templates/import/chrome-dep.template.yml                          |   6 +-
 templates/import/mbox.template.yml                                |   3 +-
 templates/import/mssql-dep.template.yml                           |   3 +-
 templates/import/mysql-dep.template.yml                           |   5 +-
 templates/import/phpbb3.template.yml                              |  25 +-
 templates/import/vanilla.template.yml                             | 116 ++++++++++
 templates/postgres.10.template.yml                                |  15 +-
 templates/{postgres.9.3.template.yml => postgres.12.template.yml} |  59 ++---
 templates/postgres.13.template.yml                                | 238 +++++++++++++++++++
 templates/postgres.9.2.template.yml                               |  97 --------
 templates/postgres.9.5.template.yml                               |  12 -
 templates/postgres.template.yml                                   | 100 +++-----
 templates/redis.template.yml                                      |  13 ++
 templates/sshd.template.yml                                       |  53 +----
 templates/web.letsencrypt.ssl.template.yml                        |  62 ++++-
 templates/web.ssl.template.yml                                    |  23 +-
 templates/web.template.yml                                        | 135 +++++++++--
 tests/README.md                                                   |  28 +++
 tests/run-all-tests                                               |  11 +
 tests/standalone                                                  |  88 +++++++
 tests/two-container                                               |  87 +++++++
 tests/update-old-templates                                        |  94 ++++++++
 54 files changed, 1898 insertions(+), 851 deletions(-)
 create mode 100644 .github/workflows/build.yml
 create mode 100644 LICENSE
 delete mode 100644 Vagrantfile
 delete mode 100755 image/base/install-gifsicle
 delete mode 100755 image/base/install-pngcrush
 delete mode 100755 image/base/install-pngquant
 create mode 100755 image/base/install-redis
 delete mode 100755 scripts/docker-gc
 create mode 100644 templates/cache-dns.template.yml
 create mode 100644 templates/import/vanilla.template.yml
 rename templates/{postgres.9.3.template.yml => postgres.12.template.yml} (72%)
 create mode 100644 templates/postgres.13.template.yml
 delete mode 100644 templates/postgres.9.2.template.yml
 create mode 100644 tests/README.md
 create mode 100755 tests/run-all-tests
 create mode 100755 tests/standalone
 create mode 100755 tests/two-container
 create mode 100755 tests/update-old-templates
root@idmforums:/var/idmforums# ./launcher rebuild app

ATTENZIONE: stiamo per iniziare a scaricare l'immagine base di Discourse
Questo processo può richiedere da pochi minuti a un'ora, a seconda della velocità della tua rete

Ti preghiamo di essere paziente

2.0.20210528-1735: Pulling from discourse/base
69692152171a: Pull complete
caccdbcee96e: Pull complete
Digest: sha256:b1890ab83b905ada5c9b7221264d62159bbf63bda706cdc652b0533bc90431c5
Status: Downloaded newer image for discourse/base:2.0.20210528-1735
docker.io/discourse/base:2.0.20210528-1735
Branch 'main' set up to track remote branch 'main' from 'origin'.
origin/HEAD set to main
Verifica che launcher sia aggiornato
Fetching origin
Launcher ha diverged source, questo è previsto solo in modalità Dev
Arresto del vecchio container
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
From https://github.com/discourse/pups
   17f04ec..e0ff889  master        -> origin/master
 * [new branch]      main          -> origin/main
 * [new branch]      stream-stdout -> origin/stream-stdout
 * [new tag]         v1.1.1        -> v1.1.1
 * [new tag]         v1.1.0        -> v1.1.0
 * [new tag]         v1.2.0        -> v1.2.0
 * [new tag]         v1.2.1        -> v1.2.1
Updating 17f04ec..e0ff889
Fast-forward
 .github/workflows/ci.yml     |  29 ++++++
 .github/workflows/lint.yml   |  27 +++++
 .rubocop.yml                 |   3 +
 Gemfile                      |   2 +
 Guardfile                    |   4 +-
 README.md                    |  21 ++++
 Rakefile                     |  14 +--
 bin/pups                     |   8 +-
 lib/pups.rb                  |  32 ++++--
 lib/pups/cli.rb              |  92 ++++++++++-------
 lib/pups/command.rb          |  25 +++--
 lib/pups/config.rb           | 240 +++++++++++++++++++++++--------------------
 lib/pups/docker.rb           |  69 +++++++++++++
 lib/pups/exec_command.rb     | 182 ++++++++++++++++----------------
 lib/pups/file_command.rb     |  60 +++++------
 lib/pups/merge_command.rb    |  94 ++++++++---------
 lib/pups/replace_command.rb  |  70 +++++++------
 lib/pups/runit.rb            |  47 +++++----
 lib/pups/version.rb          |   4 +-
 pups.gemspec                 |  37 ++++---
 test/cli_test.rb             | 102 +++++++++++++++---
 test/config_test.rb          | 215 ++++++++++++++++++++++++++++----------
 test/docker_test.rb          | 157 ++++++++++++++++++++++++++++
 test/exec_command_test.rb    |  62 ++++++-----
 test/file_command_test.rb    |  17 ++-
 test/merge_command_test.rb   |  64 ++++++------
 test/replace_command_test.rb |  86 ++++++++--------
 test/test_helper.rb          |   2 +
 28 files changed, 1158 insertions(+), 607 deletions(-)
 create mode 100644 .github/workflows/ci.yml
 create mode 100644 .github/workflows/lint.yml
 create mode 100644 .rubocop.yml
 create mode 100644 lib/pups/docker.rb
 create mode 100644 test/docker_test.rb
Nota: checkout di 'v1.0.3'.

Sei in uno stato 'detached HEAD'. Puoi guardare intorno, fare modifiche
sperimentali e committarle, e puoi scartare qualsiasi commit fatto in questo
stato senza impattare sui rami eseguendo un altro checkout.

Se vuoi creare un nuovo ramo per mantenere i commit che crei, puoi
farlo (ora o in seguito) usando -b con il comando checkout. Esempio:

  git checkout -b <nome-nuovo-ramo>

HEAD is now at d1db030 cut a new version
I, [2024-06-04T23:36:37.401202 #1]  INFO -- : Loading --stdin
I, [2024-06-04T23:36:37.425838 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-06-04T23:36:37.543893 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2024-06-04T23:36:37.544135 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-06-04T23:36:37.549756 #1]  INFO -- :
I, [2024-06-04T23:36:37.550707 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-06-04T23:36:37.554149 #1]  INFO -- :
I, [2024-06-04T23:36:37.554297 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-06-04T23:36:37.556363 #1]  INFO -- :
I, [2024-06-04T23:36:37.556586 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-06-04T23:36:37.559019 #1]  INFO -- :
I, [2024-06-04T23:36:37.559217 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-06-04T23:36:37.561244 #1]  INFO -- :
I, [2024-06-04T23:36:37.561365 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2024/06/04 23:36:37 socat[35] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-06-04T23:36:37.587416 #1]  INFO -- :
I, [2024-06-04T23:36:37.587759 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-06-04T23:36:37.591649 #1]  INFO -- :
I, [2024-06-04T23:36:37.591873 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-06-04T23:36:37.595295 #1]  INFO -- :
I, [2024-06-04T23:36:37.595477 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:36:37.597365 #1]  INFO -- :
I, [2024-06-04T23:36:37.597579 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:36:37.599742 #1]  INFO -- :
I, [2024-06-04T23:36:37.604002 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-06-04T23:36:37.608548 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-06-04T23:36:37.615415 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-06-04T23:36:37.623666 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-06-04T23:36:37.623939 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-06-04T23:36:39.151163 #1]  INFO -- :
I, [2024-06-04T23:36:39.152260 #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, [2024-06-04T23:36:39.156524 #1]  INFO -- :
I, [2024-06-04T23:36:39.156616 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-06-04T23:36:39.198114 #1]  INFO -- :
I, [2024-06-04T23:36:39.198360 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-06-04T23:36:39.201422 #1]  INFO -- :
I, [2024-06-04T23:36:39.201963 #1]  INFO -- : > /root/upgrade_postgres
initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
debconf: delaying package configuration, since apt-utils is not installed
./launcheI, [2024-06-04T23:37:27.208986 #1]  INFO -- : Upgrading PostgreSQL from version 10 to 13
I files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

Il cluster del database sarà inizializzato con la locale "en_US.UTF-8".
L'encoding predefinito del database è stato di conseguenza impostato su "UTF8".
La configurazione predefinita della ricerca testuale sarà impostata su "english".

I checksum delle pagine dati sono disabilitati.

correzione dei permessi sulla directory esistente /shared/postgres_data_new ... ok
creazione delle sottodirectory ... ok
selezione dell'implementazione della memoria condivisa dinamica ... posix
selezione del valore predefinito di max_connections ... 100
selezione del valore predefinito di shared_buffers ... 128MB
selezione del fuso orario predefinito ... Etc/UTC
creazione dei file di configurazione ... ok
esecuzione dello script bootstrap ... ok
esecuzione dell'inizializzazione post-bootstrap ... ok
sincronizzazione dei dati su disco ... ok


Successo. Ora puoi avviare il server del database usando:

    /usr/lib/postgresql/13/bin/pg_ctl -D /shared/postgres_data_new -l logfile start

Get:1 http://security.debian.org/debian-security buster/updates InRelease [34.8 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [56.6 kB]
Get:4 https://deb.nodesource.com/node_15.x buster InRelease [4,584 B]
Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [598 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [149 kB]
Get:7 http://deb.debian.org/debian buster/main amd64 Packages [7,909 kB]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [12.1 kB]
Ign:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages [8,788 B]
Get:10 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [346 kB]
Fetched 9,241 kB in 2s (5,638 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  postgresql-client-10
Suggested packages:
  postgresql-doc-10
The following NEW packages will be installed:
  postgresql-10 postgresql-client-10
0 upgraded, 2 newly installed, 0 to remove and 160 not upgraded.
Need to get 6,423 kB of archives.
After this operation, 30.7 MB of additional disk space will be used.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.23-3.pgdg100+2 [1,444 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.23-3.pgdg100+2 [4,979 kB]
Fetched 6,423 kB in 2s (3,770 kB/s)
Selecting previously unselected package postgresql-client-10.
(Reading database ... 43021 files and directories currently installed.)
Preparing to unpack .../postgresql-client-10_10.23-3.pgdg100+2_amd64.deb ...
Unpacking postgresql-client-10 (10.23-3.pgdg100+2) ...
Selecting previously unselected package postgresql-10.
Preparing to unpack .../postgresql-10_10.23-3.pgdg100+2_amd64.deb ...
Unpacking postgresql-10 (10.23-3.pgdg100+2) ...
Setting up postgresql-client-10 (10.23-3.pgdg100+2) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/share/postgresql/13/man/man1/psql.1.gz because link group psql.1.gz is broken
Setting up postgresql-10 (10.23-3.pgdg100+2) ...
Creating new PostgreSQL cluster 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
I files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

Il cluster del database sarà inizializzato con la locale "C.UTF-8".
L'encoding predefinito del database è stato di conseguenza impostato su "UTF8".
La configurazione predefinita della ricerca testuale sarà impostata su "english".

I checksum delle pagine dati sono disabilitati.

correzione dei permessi sulla directory esistente /var/lib/postgresql/10/main ... ok
creazione delle sottodirectory ... ok
selezione del valore predefinito di max_connections ... 100
selezione del valore predefinito di shared_buffers ... 128MB
selezione del fuso orario predefinito ... Etc/UTC
selezione dell'implementazione della memoria condivisa dinamica ... posix
creazione dei file di configurazione ... ok
esecuzione dello script bootstrap ... ok
esecuzione dell'inizializzazione post-bootstrap ... ok
sincronizzazione dei dati su disco ... ok

Successo. Ora puoi avviare il server del database usando:

    pg_ctlcluster 10 main start

Warning: The selected stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp
is not writable for the cluster owner. Not adding this setting in
postgresql.conf.
Ver Cluster Port Status Owner    Data directory              Log file
10  main    5433 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: warning: forcing reinstallation of alternative /usr/share/postgresql/13/man/man1/postmaster.1.gz because link group postmaster.1.gz is broken
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Processing triggers for postgresql-common (226.pgdg100+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
Stopping PostgreSQL 10 database server: main.
Stopping PostgreSQL 13 database server: main.
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for system-defined composite types in user tables  ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for tables WITH OIDS                               ok
Checking for invalid "sql_identifier" user columns          ok
Creating dump of global objects                             ok
Creating dump of database schemas
  discourse
  postgres
  template1
                                                            ok
Checking for presence of required libraries                 ok
Checking database user is the install user                  ok
Checking for prepared transactions                          ok
Checking for new cluster tablespace directories             ok

If pg_upgrade fails after this point, you must re-initdb the
new cluster before continuing.

Esecuzione dell'aggiornamento
------------------
Analisi di tutte le righe nel nuovo cluster                       ok
Congelamento di tutte le righe nel nuovo cluster                  ok
Eliminazione dei file dal nuovo pg_xact                           ok
Copia del vecchio pg_xact sul nuovo server                        ok
Impostazione del prossimo ID transazione e dell'epoca per il nuovo cluster ok
Eliminazione dei file dal nuovo pg_multixact/offsets              ok
Copia del vecchio pg_multixact/offsets sul nuovo server          ok
Eliminazione dei file dal nuovo pg_multixact/members             ok
Copia del vecchio pg_multixact/members sul nuovo server          ok
Impostazione del prossimo ID multixact e dell'offset per il nuovo cluster ok
Reset degli archivi WAL                                           ok
Impostazione dei contatori frozenxid e minmxid nel nuovo cluster  ok
Ripristino degli oggetti globali nel nuovo cluster                ok
Ripristino degli schemi dei database nel nuovo cluster
  template1
  discourse
  postgres
                                                            ok
Copia dei file delle relazioni utente
  /shared/postgres_data/base/16384/2613
  /shared/postgres_data/base/16384/2683
  /shared/postgres_data/base/16384/16762
  /shared/postgres_data/base/16384/16762_fsm
  /shared/postgres_data/base/16384/16765
  /shared/postgres_data/base/16384/16767
  /shared/postgres_data/base/16384/16768
  /shared/postgres_data/base/16384/16770
  /shared/postgres_data/base/16384/16773
  /shared/postgres_data/base/16384/16775
  /shared/postgres_data/base/16384/16776
  /shared/postgres_data/base/16384/16780
  /shared/postgres_data/base/16384/16780_fsm
  /shared/postgres_data/base/16384/16784
  /shared/postgres_data/base/16384/16786
  /shared/postgres_data/base/16384/16787
  /shared/postgres_data/base/16384/16789
  /shared/postgres_data/base/16384/20635
  /shared/postgres_data/base/16384/20635_fsm
  /shared/postgres_data/base/16384/20635_vm
  /shared/postgres_data/base/16384/20641
  /shared/postgres_data/base/16384/19612
  /shared/postgres_data/base/16384/19612_fsm
  /shared/postgres_data/base/16384/19612_vm
  /shared/postgres_data/base/16384/19618
  /shared/postgres_data/base/16384/21104
  /shared/postgres_data/base/16384/21104_fsm
  /shared/postgres_data/base/16384/21104_vm
  /shared/postgres_data/base/16384/21110
  /shared/postgres_data/base/16384/19619
  /shared/postgres_data/base/16384/19619_fsm
  /shared/postgres_data/base/16384/19430
  /shared/postgres_data/base/16384/19430_fsm
  /shared/postgres_data/base/16384/18503
  /shared/postgres_data/base/16384/18503_fsm
  /shared/postgres_data/base/16384/18503_vm
  /shared/postgres_data/base/16384/18509
  /shared/postgres_data/base/16384/18510
  /shared/postgres_data/base/16384/19655
  /shared/postgres_data/base/16384/19655_fsm
  /shared/postgres_data/base/16384/19655_vm
  /shared/postgres_data/base/16384/19658
  /shared/postgres_data/base/16384/19284
  /shared/postgres_data/base/16384/19284_fsm
  /shared/postgres_data/base/16384/19284_vm
  /shared/postgres_data/base/16384/19290
  /shared/postgres_data/base/16384/19291
  /shared/postgres_data/base/16384/17019
  /shared/postgres_data/base/16384/17019_fsm
  /shared/postgres_data/base/16384/17019_vm
  /shared/postgres_data/base/16384/17029
  /shared/postgres_data/base/16384/17033
  /shared/postgres_data/base/16384/17035
  /shared/postgres_data/base/16384/17036
  /shared/postgres_data/base/16384/17039
  /shared/postgres_data/base/16384/17040
  /shared/postgres_data/base/16384/18337
  /shared/postgres_data/base/16384/18337_fsm
  /shared/postgres_data/base/16384/18337_vm
  /shared/postgres_data/base/16384/18343
  /shared/postgres_data/base/16384/18344
  /shared/postgres_data/base/16384/18344_fsm
  /shared/postgres_data/base/16384/17191
  /shared/postgres_data/base/16384/17191_fsm
  /shared/postgres_data/base/16384/17195
  /shared/postgres_data/base/16384/17197
  /shared/postgres_data/base/16384/17198
  /shared/postgres_data/base/16384/17201
  /shared/postgres_data/base/16384/17201_fsm
  /shared/postgres_data/base/16384/17204
  /shared/postgres_data/base/16384/21111
  /shared/postgres_data/base/16384/21111_fsm
  /shared/postgres_data/base/16384/21281
  /shared/postgres_data/base/16384/21281_fsm
  /shared/postgres_data/base/16384/21281_vm
  /shared/postgres_data/base/16384/21287
  /shared/postgres_data/base/16384/21288
  /shared/postgres_data/base/16384/18540
  /shared/postgres_data/base/16384/18540_fsm
  /shared/postgres_data/base/16384/18540_vm
  /shared/postgres_data/base/16384/18543
  /shared/postgres_data/base/16384/17293
  /shared/postgres_data/base/16384/17293_fsm
  /shared/postgres_data/base/16384/17293_vm
  /shared/postgres_data/base/16384/17297
  /shared/postgres_data/base/16384/17299
  /shared/postgres_data/base/16384/17300
  /shared/postgres_data/base/16384/17304
  /shared/postgres_data/base/16384/17308
  /shared/postgres_data/base/16384/17310
  /shared/postgres_data/base/16384/17311
  /shared/postgres_data/base/16384/17313
  /shared/postgres_data/base/16384/17370
  /shared/postgres_data/base/16384/17370_fsm
  /shared/postgres_data/base/16384/17374
  /shared/postgres_data/base/16384/17376
  /shared/postgres_data/base/16384/17377
  /shared/postgres_data/base/16384/18901
  /shared/postgres_data/base/16384/18901_fsm
  /shared/postgres_data/base/16384/18907
  /shared/postgres_data/base/16384/18908
  /shared/postgres_data/base/16384/18110
  /shared/postgres_data/base/16384/17402
  /shared/postgres_data/base/16384/17402_fsm
  /shared/postgres_data/base/16384/17406
  /shared/postgres_data/base/16384/17417
  /shared/postgres_data/base/16384/19292
  /shared/postgres_data/base/16384/17439
  /shared/postgres_data/base/16384/20642
  /shared/postgres_data/base/16384/18756
  /shared/postgres_data/base/16384/18762
  /shared/postgres_data/base/16384/18763
  /shared/postgres_data/base/16384/18113
  /shared/postgres_data/base/16384/21311
  /shared/postgres_data/base/16384/21311_fsm
  /shared/postgres_data/base/16384/21311_vm
  /shared/postgres_data/base/16384/21317
  /shared/postgres_data/base/16384/21317_fsm
  /shared/postgres_data/base/16384/21318
  /shared/postgres_data/base/16384/21318_fsm
  /shared/postgres_data/base/16384/17627
  /shared/postgres_data/base/16384/17627_fsm
  /shared/postgres_data/base/16384/17631
  /shared/postgres_data/base/16384/17633
  /shared/postgres_data/base/16384/17634
  /shared/postgres_data/base/16384/18345
  /shared/postgres_data/base/16384/18115
  /shared/postgres_data/base/16384/18121
  /shared/postgres_data/base/16384/18122
  /shared/postgres_data/base/16384/20585
  /shared/postgres_data/base/16384/20591
  /shared/postgres_data/base/16384/20592
  /shared/postgres_data/base/16384/17759
  /shared/postgres_data/base/16384/17763
  /shared/postgres_data/base/16384/17765
  /shared/postgres_data/base/16384/17766
  /shared/postgres_data/base/16384/21121
  /shared/postgres_data/base/16384/21121_fsm
  /shared/postgres_data/base/16384/21121_vm
  /shared/postgres_data/base/16384/21124
  /shared/postgres_data/base/16384/21125
  /shared/postgres_data/base/16384/17779
  /shared/postgres_data/base/16384/17779_fsm
  /shared/postgres_data/base/16384/17779_vm
  /shared/postgres_data/base/16384/17785
  /shared/postgres_data/base/16384/17787
  /shared/postgres_data/base/16384/17788
  /shared/postgres_data/base/16384/17790
  /shared/postgres_data/base/16384/20048
  /shared/postgres_data/base/16384/20048_fsm
  /shared/postgres_data/base/16384/20048_vm
  /shared/postgres_data/base/16384/20054
  /shared/postgres_data/base/16384/20055
  /shared/postgres_data/base/16384/21371
  /shared/postgres_data/base/16384/21377
  /shared/postgres_data/base/16384/17882
  /shared/postgres_data/base/16384/17882_fsm
  /shared/postgres_data/base/16384/17882_vm
  /shared/postgres_data/base/16384/17886
  /shared/postgres_data/base/16384/17888
  /shared/postgres_data/base/16384/17889
  /shared/postgres_data/base/16384/17891
  /shared/postgres_data/base/16384/21026
  /shared/postgres_data/base/16384/21026_fsm
  /shared/postgres_data/base/16384/21026_vm
  /shared/postgres_data/base/16384/21032
  /shared/postgres_data/base/16384/21053
  /shared/postgres_data/base/16384/21053_fsm
  /shared/postgres_data/base/16384/21053_vm
  /shared/postgres_data/base/16384/21059
  /shared/postgres_data/base/16384/21044
  /shared/postgres_data/base/16384/21050
  /shared/postgres_data/base/16384/21033
  /shared/postgres_data/base/16384/21033_fsm
  /shared/postgres_data/base/16384/21060
  /shared/postgres_data/base/16384/21060_fsm
  /shared/postgres_data/base/16384/21051
  /shared/postgres_data/base/16384/18123
  /shared/postgres_data/base/16384/18118
  /shared/postgres_data/base/16384/18120
  /shared/postgres_data/base/16384/18136
  /shared/postgres_data/base/16384/18140
  /shared/postgres_data/base/16384/18142
  /shared/postgres_data/base/16384/18143
  /shared/postgres_data/base/16384/18145
  /shared/postgres_data/base/16384/18146
  /shared/postgres_data/base/16384/18946
  /shared/postgres_data/base/16384/18946_fsm
  /shared/postgres_data/base/16384/18952
  /shared/postgres_data/base/16384/21072
  /shared/postgres_data/base/16384/21072_fsm
  /shared/postgres_data/base/16384/21072_vm
  /shared/postgres_data/base/16384/21078
  /shared/postgres_data/base/16384/20193
  /shared/postgres_data/base/16384/20193_fsm
  /shared/postgres_data/base/16384/20193_vm
  /shared/postgres_data/base/16384/20196
  /shared/postgres_data/base/16384/20197
  /shared/postgres_data/base/16384/18340
  /shared/postgres_data/base/16384/18342
  /shared/postgres_data/base/16384/18531
  /shared/postgres_data/base/16384/18531_fsm
  /shared/postgres_data/base/16384/18531_vm
  /shared/postgres_data/base/16384/18534
  /shared/postgres_data/base/16384/18366
  /shared/postgres_data/base/16384/18366_fsm
  /shared/postgres_data/base/16384/18370
  /shared/postgres_data/base/16384/18372
  /shared/postgres_data/base/16384/18373
  /shared/postgres_data/base/16384/21079
  /shared/postgres_data/base/16384/18544
  /shared/postgres_data/base/16384/18693
  /shared/postgres_data/base/16384/18693_fsm
  /shared/postgres_data/base/16384/18693_vm
  /shared/postgres_data/base/16384/18694
  /shared/postgres_data/base/16384/18695
  /shared/postgres_data/base/16384/18497
  /shared/postgres_data/base/16384/18497_fsm
  /shared/postgres_data/base/16384/18497_vm
  /shared/postgres_data/base/16384/18500
  /shared/postgres_data/base/16384/18501
  /shared/postgres_data/base/16384/18502
  /shared/postgres_data/base/16384/18506
  /shared/postgres_data/base/16384/18508
  /shared/postgres_data/base/16384/18511
  /shared/postgres_data/base/16384/18512
  /shared/postgres_data/base/16384/18513
  /shared/postgres_data/base/16384/18515
  /shared/postgres_data/base/16384/19431
  /shared/postgres_data/base/16384/19432
  /shared/postgres_data/base/16384/18545
  /shared/postgres_data/base/16384/19659
  /shared/postgres_data/base/16384/18558
  /shared/postgres_data/base/16384/18558_fsm
  /shared/postgres_data/base/16384/18558_vm
  /shared/postgres_data/base/16384/18563
  /shared/postgres_data/base/16384/18565
  /shared/postgres_data/base/16384/18566
  /shared/postgres_data/base/16384/18568
  /shared/postgres_data/base/16384/18569
  /shared/postgres_data/base/16384/18571
  /shared/postgres_data/base/16384/18572
  /shared/postgres_data/base/16384/18574
  /shared/postgres_data/base/16384/18953
  /shared/postgres_data/base/16384/18954
  /shared/postgres_data/base/16384/18593
  /shared/postgres_data/base/16384/18598
  /shared/postgres_data/base/16384/18600
  /shared/postgres_data/base/16384/18601
  /shared/postgres_data/base/16384/18603
  /shared/postgres_data/base/16384/18604
  /shared/postgres_data/base/16384/18607
  /shared/postgres_data/base/16384/18611
  /shared/postgres_data/base/16384/18613
  /shared/postgres_data/base/16384/18614
  /shared/postgres_data/base/16384/18616
  /shared/postgres_data/base/16384/18955
  /shared/postgres_data/base/16384/18621
  /shared/postgres_data/base/16384/18621_fsm
  /shared/postgres_data/base/16384/18625
  /shared/postgres_data/base/16384/18627
  /shared/postgres_data/base/16384/18628
  /shared/postgres_data/base/16384/18630
  /shared/postgres_data/base/16384/19620
  /shared/postgres_data/base/16384/19620_fsm
  /shared/postgres_data/base/16384/20643
  /shared/postgres_data/base/16384/18633
  /shared/postgres_data/base/16384/20644
  /shared/postgres_data/base/16384/21495
  /shared/postgres_data/base/16384/21495_fsm
  /shared/postgres_data/base/16384/21495_vm
  /shared/postgres_data/base/16384/21498
  /shared/postgres_data/base/16384/18956
  /shared/postgres_data/base/16384/18698
  /shared/postgres_data/base/16384/18702
  /shared/postgres_data/base/16384/18704
  /shared/postgres_data/base/16384/18705
  /shared/postgres_data/base/16384/18707
  /shared/postgres_data/base/16384/18720
  /shared/postgres_data/base/16384/18720_fsm
  /shared/postgres_data/base/16384/18720_vm
  /shared/postgres_data/base/16384/18725
  /shared/postgres_data/base/16384/18727
  /shared/postgres_data/base/16384/18728
  /shared/postgres_data/base/16384/18730
  /shared/postgres_data/base/16384/18731
  /shared/postgres_data/base/16384/19627
  /shared/postgres_data/base/16384/19633
  /shared/postgres_data/base/16384/19634
  /shared/postgres_data/base/16384/19635
  /shared/postgres_data/base/16384/18764
  /shared/postgres_data/base/16384/18759
  /shared/postgres_data/base/16384/18761
  /shared/postgres_data/base/16384/19602
  /shared/postgres_data/base/16384/19602_fsm
  /shared/postgres_data/base/16384/19608
  /shared/postgres_data/base/16384/19609
  /shared/postgres_data/base/16384/19610
  /shared/postgres_data/base/16384/19876
  /shared/postgres_data/base/16384/19882
  /shared/postgres_data/base/16384/20013
  /shared/postgres_data/base/16384/20013_fsm
  /shared/postgres_data/base/16384/20013_vm
  /shared/postgres_data/base/16384/20016
  /shared/postgres_data/base/16384/20017
  /shared/postgres_data/base/16384/20018
  /shared/postgres_data/base/16384/20018_fsm
  /shared/postgres_data/base/16384/20019
  /shared/postgres_data/base/16384/20019_fsm
  /shared/postgres_data/base/16384/20020
  /shared/postgres_data/base/16384/20020_fsm
  /shared/postgres_data/base/16384/20021
  /shared/postgres_data/base/16384/20021_fsm
  /shared/postgres_data/base/16384/20022
  /shared/postgres_data/base/16384/20022_fsm
  /shared/postgres_data/base/16384/20023
  /shared/postgres_data/base/16384/20023_fsm
  /shared/postgres_data/base/16384/20024
  /shared/postgres_data/base/16384/20024_fsm
  /shared/postgres_data/base/16384/20025
  /shared/postgres_data/base/16384/20025_fsm
  /shared/postgres_data/base/16384/20026
  /shared/postgres_data/base/16384/20026_fsm
  /shared/postgres_data/base/16384/20027
  /shared/postgres_data/base/16384/20027_fsm
  /shared/postgres_data/base/16384/20028
  /shared/postgres_data/base/16384/20028_fsm
  /shared/postgres_data/base/16384/20029
  /shared/postgres_data/base/16384/20029_fsm
  /shared/postgres_data/base/16384/18873
  /shared/postgres_data/base/16384/18877
  /shared/postgres_data/base/16384/18904
  /shared/postgres_data/base/16384/18906
  /shared/postgres_data/base/16384/20594
  /shared/postgres_data/base/16384/20600
  /shared/postgres_data/base/16384/20601
  /shared/postgres_data/base/16384/21289
  /shared/postgres_data/base/16384/18949
  /shared/postgres_data/base/16384/18949_fsm
  /shared/postgres_data/base/16384/18951
  /shared/postgres_data/base/16384/18959
  /shared/postgres_data/base/16384/18963
  /shared/postgres_data/base/16384/18965
  /shared/postgres_data/base/16384/18966
  /shared/postgres_data/base/16384/18968
  /shared/postgres_data/base/16384/19439
  /shared/postgres_data/base/16384/19439_fsm
  /shared/postgres_data/base/16384/19439_vm
  /shared/postgres_data/base/16384/19445
  /shared/postgres_data/base/16384/19446
  /shared/postgres_data/base/16384/19447
  /shared/postgres_data/base/16384/19462
  /shared/postgres_data/base/16384/19462_fsm
  /shared/postgres_data/base/16384/19462_vm
  /shared/postgres_data/base/16384/19465
  /shared/postgres_data/base/16384/19466
  /shared/postgres_data/base/16384/19466_fsm
  /shared/postgres_data/base/16384/19621
  /shared/postgres_data/base/16384/20645
  /shared/postgres_data/base/16384/20645_fsm
  /shared/postgres_data/base/16384/21113
  /shared/postgres_data/base/16384/21114
  /shared/postgres_data/base/16384/20577
  /shared/postgres_data/base/16384/20577_fsm
  /shared/postgres_data/base/16384/20577_vm
  /shared/postgres_data/base/16384/20583
  /shared/postgres_data/base/16384/19062
  /shared/postgres_data/base/16384/19067
  /shared/postgres_data/base/16384/19069
  /shared/postgres_data/base/16384/19070
  /shared/postgres_data/base/16384/19072
  /shared/postgres_data/base/16384/19075
  /shared/postgres_data/base/16384/19079
  /shared/postgres_data/base/16384/19081
  /shared/postgres_data/base/16384/19082
  /shared/postgres_data/base/16384/19084
  /shared/postgres_data/base/16384/19096
  /shared/postgres_data/base/16384/19100
  /shared/postgres_data/base/16384/19102
  /shared/postgres_data/base/16384/19103
  /shared/postgres_data/base/16384/19107
  /shared/postgres_data/base/16384/19111
  /shared/postgres_data/base/16384/19113
  /shared/postgres_data/base/16384/19114
  /shared/postgres_data/base/16384/19118
  /shared/postgres_data/base/16384/19118_fsm
  /shared/postgres_data/base/16384/19122
  /shared/postgres_data/base/16384/19124
  /shared/postgres_data/base/16384/19125
  /shared/postgres_data/base/16384/19127
  /shared/postgres_data/base/16384/19128
  /shared/postgres_data/base/16384/19129
  /shared/postgres_data/base/16384/19132
  /shared/postgres_data/base/16384/19136
  /shared/postgres_data/base/16384/19138
  /shared/postgres_data/base/16384/19139
  /shared/postgres_data/base/16384/19141
  /shared/postgres_data/base/16384/19155
  /shared/postgres_data/base/16384/19159
  /shared/postgres_data/base/16384/19467
  /shared/postgres_data/base/16384/19174
  /shared/postgres_data/base/16384/19178
  /shared/postgres_data/base/16384/19180
  /shared/postgres_data/base/16384/19181
  /shared/postgres_data/base/16384/19183
  /shared/postgres_data/base/16384/19184
  /shared/postgres_data/base/16384/19217
  /shared/postgres_data/base/16384/19217_fsm
  /shared/postgres_data/base/16384/19217_vm
  /shared/postgres_data/base/16384/19220
  /shared/postgres_data/base/16384/19221
  /shared/postgres_data/base/16384/20103
  /shared/postgres_data/base/16384/20103_fsm
  /shared/postgres_data/base/16384/20103_vm
  /shared/postgres_data/base/16384/20109
  /shared/postgres_data/base/16384/19293
  /shared/postgres_data/base/16384/21290
  /shared/postgres_data/base/16384/19468
  /shared/postgres_data/base/16384/19287
  /shared/postgres_data/base/16384/19289
  /shared/postgres_data/base/16384/19622
  /shared/postgres_data/base/16384/19322
  /shared/postgres_data/base/16384/19322_fsm
  /shared/postgres_data/base/16384/19322_vm
  /shared/postgres_data/base/16384/19326
  /shared/postgres_data/base/16384/19328
  /shared/postgres_data/base/16384/19329
  /shared/postgres_data/base/16384/19333
  /shared/postgres_data/base/16384/19337
  /shared/postgres_data/base/16384/19339
  /shared/postgres_data/base/16384/19340
  /shared/postgres_data/base/16384/20593
  /shared/postgres_data/base/16384/19390
  /shared/postgres_data/base/16384/19391
  /shared/postgres_data/base/16384/19394
  /shared/postgres_data/base/16384/19394_fsm
  /shared/postgres_data/base/16384/19398
  /shared/postgres_data/base/16384/19400
  /shared/postgres_data/base/16384/19401
  /shared/postgres_data/base/16384/19405
  /shared/postgres_data/base/16384/19405_fsm
  /shared/postgres_data/base/16384/19410
  /shared/postgres_data/base/16384/19412
  /shared/postgres_data/base/16384/19413
  /shared/postgres_data/base/16384/19435
  /shared/postgres_data/base/16384/19436
  /shared/postgres_data/base/16384/20110
  /shared/postgres_data/base/16384/19442
  /shared/postgres_data/base/16384/19444
  /shared/postgres_data/base/16384/21115
  /shared/postgres_data/base/16384/21035
  /shared/postgres_data/base/16384/21035_fsm
  /shared/postgres_data/base/16384/21035_vm
  /shared/postgres_data/base/16384/21041
  /shared/postgres_data/base/16384/21042
  /shared/postgres_data/base/16384/21042_fsm
  /shared/postgres_data/base/16384/19469
  /shared/postgres_data/base/16384/19475
  /shared/postgres_data/base/16384/19476
  /shared/postgres_data/base/16384/17038
  /shared/postgres_data/base/16384/19495
  /shared/postgres_data/base/16384/19501
  /shared/postgres_data/base/16384/19498
  /shared/postgres_data/base/16384/19500
  /shared/postgres_data/base/16384/19502
  /shared/postgres_data/base/16384/19503
  /shared/postgres_data/base/16384/19518
  /shared/postgres_data/base/16384/19522
  /shared/postgres_data/base/16384/19524
  /shared/postgres_data/base/16384/19525
  /shared/postgres_data/base/16384/19660
  /shared/postgres_data/base/16384/20344
  /shared/postgres_data/base/16384/20350
  /shared/postgres_data/base/16384/19605
  /shared/postgres_data/base/16384/19605_fsm
  /shared/postgres_data/base/16384/19605_vm
  /shared/postgres_data/base/16384/19607
  /shared/postgres_data/base/16384/19615
  /shared/postgres_data/base/16384/19615_fsm
  /shared/postgres_data/base/16384/19615_vm
  /shared/postgres_data/base/16384/19617
  /shared/postgres_data/base/16384/19630
  /shared/postgres_data/base/16384/19632
  /shared/postgres_data/base/16384/19638
  /shared/postgres_data/base/16384/19642
  /shared/postgres_data/base/16384/19644
  /shared/postgres_data/base/16384/19645
  /shared/postgres_data/base/16384/19671
  /shared/postgres_data/base/16384/19671_fsm
  /shared/postgres_data/base/16384/19702
  /shared/postgres_data/base/16384/19702_fsm
  /shared/postgres_data/base/16384/19702_vm
  /shared/postgres_data/base/16384/19703
  /shared/postgres_data/base/16384/19704
  /shared/postgres_data/base/16384/19705
  /shared/postgres_data/base/16384/19705_fsm
  /shared/postgres_data/base/16384/19705_vm
  /shared/postgres_data/base/16384/19708
  /shared/postgres_data/base/16384/19708_fsm
  /shared/postgres_data/base/16384/19710
  /shared/postgres_data/base/16384/19710_fsm
  /shared/postgres_data/base/16384/20646
  /shared/postgres_data/base/16384/20647
  /shared/postgres_data/base/16384/20648
  /shared/postgres_data/base/16384/20030
  /shared/postgres_data/base/16384/20030_fsm
  /shared/postgres_data/base/16384/20031
  /shared/postgres_data/base/16384/20031_fsm
  /shared/postgres_data/base/16384/20032
  /shared/postgres_data/base/16384/20032_fsm
  /shared/postgres_data/base/16384/20033
  /shared/postgres_data/base/16384/20033_fsm
  /shared/postgres_data/base/16384/20285
  /shared/postgres_data/base/16384/20285_fsm
  /shared/postgres_data/base/16384/20285_vm
  /shared/postgres_data/base/16384/20286
  /shared/postgres_data/base/16384/19834
  /shared/postgres_data/base/16384/19838
  /shared/postgres_data/base/16384/19840
  /shared/postgres_data/base/16384/19841
  /shared/postgres_data/base/16384/19856
  /shared/postgres_data/base/16384/19856_fsm
  /shared/postgres_data/base/16384/19856_vm
  /shared/postgres_data/base/16384/19860
  /shared/postgres_data/base/16384/19860_fsm
  /shared/postgres_data/base/16384/19862
  /shared/postgres_data/base/16384/19863
  /shared/postgres_data/base/16384/19865
  /shared/postgres_data/base/16384/19866
  /shared/postgres_data/base/16384/19879
  /shared/postgres_data/base/16384/19881
  /shared/postgres_data/base/16384/19883
  /shared/postgres_data/base/16384/19884
  /shared/postgres_data/base/16384/20830
  /shared/postgres_data/base/16384/20830_fsm
  /shared/postgres_data/base/16384/20836
  /shared/postgres_data/base/16384/20837
  /shared/postgres_data/base/16384/19897
  /shared/postgres_data/base/16384/19898
  /shared/postgres_data/base/16384/19898_fsm
  /shared/postgres_data/base/16384/19899
  /shared/postgres_data/base/16384/19900
  /shared/postgres_data/base/16384/19900_fsm
  /shared/postgres_data/base/16384/19901
  /shared/postgres_data/base/16384/21116
  /shared/postgres_data/base/16384/21117
  /shared/postgres_data/base/16384/21126
  /shared/postgres_data/base/16384/21126_fsm
  /shared/postgres_data/base/16384/19915
  /shared/postgres_data/base/16384/19919
  /shared/postgres_data/base/16384/19921
  /shared/postgres_data/base/16384/19922
  /shared/postgres_data/base/16384/20034
  /shared/postgres_data/base/16384/20034_fsm
  /shared/postgres_data/base/16384/20035
  /shared/postgres_data/base/16384/20035_fsm
  /shared/postgres_data/base/16384/20036
  /shared/postgres_data/base/16384/20036_fsm
  /shared/postgres_data/base/16384/20037
  /shared/postgres_data/base/16384/20037_fsm
  /shared/postgres_data/base/16384/20038
  /shared/postgres_data/base/16384/20051
  /shared/postgres_data/base/16384/20051_fsm
  /shared/postgres_data/base/16384/20051_vm
  /shared/postgres_data/base/16384/20053
  /shared/postgres_data/base/16384/20053_fsm
  /shared/postgres_data/base/16384/20058
  /shared/postgres_data/base/16384/20058_fsm
  /shared/postgres_data/base/16384/20062
  /shared/postgres_data/base/16384/20064
  /shared/postgres_data/base/16384/20067
  /shared/postgres_data/base/16384/20071
  /shared/postgres_data/base/16384/20073
  /shared/postgres_data/base/16384/20074
  /shared/postgres_data/base/16384/20089
  /shared/postgres_data/base/16384/20089_fsm
  /shared/postgres_data/base/16384/20093
  /shared/postgres_data/base/16384/20095
  /shared/postgres_data/base/16384/20096
  /shared/postgres_data/base/16384/20098
  /shared/postgres_data/base/16384/20099
  /shared/postgres_data/base/16384/20106
  /shared/postgres_data/base/16384/20106_fsm
  /shared/postgres_data/base/16384/20108
  /shared/postgres_data/base/16384/20111
  /shared/postgres_data/base/16384/20198
  /shared/postgres_data/base/16384/20649
  /shared/postgres_data/base/16384/20649_fsm
  /shared/postgres_data/base/16384/20144
  /shared/postgres_data/base/16384/20148
  /shared/postgres_data/base/16384/20150
  /shared/postgres_data/base/16384/20151
  /shared/postgres_data/base/16384/20153
  /shared/postgres_data/base/16384/20183
  /shared/postgres_data/base/16384/20187
  /shared/postgres_data/base/16384/20189
  /shared/postgres_data/base/16384/20190
  /shared/postgres_data/base/16384/21080
  /shared/postgres_data/base/16384/20199
  /shared/postgres_data/base/16384/20200
  /shared/postgres_data/base/16384/20213
  /shared/postgres_data/base/16384/20213_fsm
  /shared/postgres_data/base/16384/20217
  /shared/postgres_data/base/16384/20219
  /shared/postgres_data/base/16384/20222
  /shared/postgres_data/base/16384/20226
  /shared/postgres_data/base/16384/20228
  /shared/postgres_data/base/16384/20376
  /shared/postgres_data/base/16384/20382
  /shared/postgres_data/base/16384/20383
  /shared/postgres_data/base/16384/20384
  /shared/postgres_data/base/16384/20385
  /shared/postgres_data/base/16384/20245
  /shared/postgres_data/base/16384/20248
  /shared/postgres_data/base/16384/20252
  /shared/postgres_data/base/16384/20254
  /shared/postgres_data/base/16384/20255
  /shared/postgres_data/base/16384/21477
  /shared/postgres_data/base/16384/21477_fsm
  /shared/postgres_data/base/16384/21483
  /shared/postgres_data/base/16384/20288
  /shared/postgres_data/base/16384/20296
  /shared/postgres_data/base/16384/20300
  /shared/postgres_data/base/16384/20302
  /shared/postgres_data/base/16384/20303
  /shared/postgres_data/base/16384/20305
  /shared/postgres_data/base/16384/20311
  /shared/postgres_data/base/16384/20311_fsm
  /shared/postgres_data/base/16384/20311_vm
  /shared/postgres_data/base/16384/20315
  /shared/postgres_data/base/16384/20316
  /shared/postgres_data/base/16384/20333
  /shared/postgres_data/base/16384/20337
  /shared/postgres_data/base/16384/20339
  /shared/postgres_data/base/16384/20340
  /shared/postgres_data/base/16384/20342
  /shared/postgres_data/base/16384/20347
  /shared/postgres_data/base/16384/20349
  /shared/postgres_data/base/16384/20386
  /shared/postgres_data/base/16384/20379
  /shared/postgres_data/base/16384/20381
  /shared/postgres_data/base/16384/21259
  /shared/postgres_data/base/16384/21265
  /shared/postgres_data/base/16384/20406
  /shared/postgres_data/base/16384/20410
  /shared/postgres_data/base/16384/20414
  /shared/postgres_data/base/16384/20418
  /shared/postgres_data/base/16384/21266
  /shared/postgres_data/base/16384/20421
  /shared/postgres_data/base/16384/20422
  /shared/postgres_data/base/16384/20423
  /shared/postgres_data/base/16384/20424
  /shared/postgres_data/base/16384/20427
  /shared/postgres_data/base/16384/20431
  /shared/postgres_data/base/16384/20433
  /shared/postgres_data/base/16384/20434
  /shared/postgres_data/base/16384/20437
  /shared/postgres_data/base/16384/20437_fsm
  /shared/postgres_data/base/16384/20437_vm
  /shared/postgres_data/base/16384/20441
  /shared/postgres_data/base/16384/20443
  /shared/postgres_data/base/16384/20444
  /shared/postgres_data/base/16384/20444_fsm
  /shared/postgres_data/base/16384/21321
  /shared/postgres_data/base/16384/21321_fsm
  /shared/postgres_data/base/16384/20478
  /shared/postgres_data/base/16384/20484
  /shared/postgres_data/base/16384/20461
  /shared/postgres_data/base/16384/20465
  /shared/postgres_data/base/16384/20467
  /shared/postgres_data/base/16384/20470
  /shared/postgres_data/base/16384/20474
  /shared/postgres_data/base/16384/20476
  /shared/postgres_data/base/16384/20481
  /shared/postgres_data/base/16384/20483
  /shared/postgres_data/base/16384/20485
  /shared/postgres_data/base/16384/20487
  /shared/postgres_data/base/16384/20497
  /shared/postgres_data/base/16384/20500
  /shared/postgres_data/base/16384/20504
  /shared/postgres_data/base/16384/21360
  /shared/postgres_data/base/16384/21360_fsm
  /shared/postgres_data/base/16384/21360_vm
  /shared/postgres_data/base/16384/21366
  /shared/postgres_data/base/16384/21367
  /shared/postgres_data/base/16384/21368
  /shared/postgres_data/base/16384/21369
  /shared/postgres_data/base/16384/20523
  /shared/postgres_data/base/16384/20527
  /shared/postgres_data/base/16384/20529
  /shared/postgres_data/base/16384/20530
  /shared/postgres_data/base/16384/20534
  /shared/postgres_data/base/16384/20545
  /shared/postgres_data/base/16384/20547
  /shared/postgres_data/base/16384/20548
  /shared/postgres_data/base/16384/20552
  /shared/postgres_data/base/16384/20558
  /shared/postgres_data/base/16384/20560
  /shared/postgres_data/base/16384/20561
  /shared/postgres_data/base/16384/20563
  /shared/postgres_data/base/16384/20564
  /shared/postgres_data/base/16384/20567
  /shared/postgres_data/base/16384/20568
  /shared/postgres_data/base/16384/20571
  /shared/postgres_data/base/16384/20572
  /shared/postgres_data/base/16384/20575
  /shared/postgres_data/base/16384/20580
  /shared/postgres_data/base/16384/20582
  /shared/postgres_data/base/16384/20588
  /shared/postgres_data/base/16384/20590
  /shared/postgres_data/base/16384/20597
  /shared/postgres_data/base/16384/20599
  /shared/postgres_data/base/16384/20613
  /shared/postgres_data/base/16384/20614
  /shared/postgres_data/base/16384/20615
  /shared/postgres_data/base/16384/20616
  /shared/postgres_data/base/16384/20616_fsm
  /shared/postgres_data/base/16384/20617
  /shared/postgres_data/base/16384/20617_fsm
  /shared/postgres_data/base/16384/20618
  /shared/postgres_data/base/16384/20619
  /shared/postgres_data/base/16384/20619_fsm
  /shared/postgres_data/base/16384/20620
  /shared/postgres_data/base/16384/20621
  /shared/postgres_data/base/16384/21119
  /shared/postgres_data/base/16384/20623
  /shared/postgres_data/base/16384/20624
  /shared/postgres_data/base/16384/20625
  /shared/postgres_data/base/16384/20626
  /shared/postgres_data/base/16384/20629
  /shared/postgres_data/base/16384/20629_fsm
  /shared/postgres_data/base/16384/20630
  /shared/postgres_data/base/16384/20630_fsm
  /shared/postgres_data/base/16384/20631
  /shared/postgres_data/base/16384/20631_fsm
  /shared/postgres_data/base/16384/20632
  /shared/postgres_data/base/16384/20632_fsm
  /shared/postgres_data/base/16384/20633
  /shared/postgres_data/base/16384/20633_fsm
  /shared/postgres_data/base/16384/20638
  /shared/postgres_data/base/16384/20640
  /shared/postgres_data/base/16384/20662
  /shared/postgres_data/base/16384/20666
  /shared/postgres_data/base/16384/20668
  /shared/postgres_data/base/16384/20669
  /shared/postgres_data/base/16384/20671
  /shared/postgres_data/base/16384/20672
  /shared/postgres_data/base/16384/20673
  /shared/postgres_data/base/16384/20674
  /shared/postgres_data/base/16384/20713
  /shared/postgres_data/base/16384/20713_fsm
  /shared/postgres_data/base/16384/20713_vm
  /shared/postgres_data/base/16384/20719
  /shared/postgres_data/base/16384/20721
  /shared/postgres_data/base/16384/20722
  /shared/postgres_data/base/16384/20722_fsm
  /shared/postgres_data/base/16384/20728
  /shared/postgres_data/base/16384/20732
  /shared/postgres_data/base/16384/20734
  /shared/postgres_data/base/16384/20735
  /shared/postgres_data/base/16384/20737
  /shared/postgres_data/base/16384/20740
  /shared/postgres_data/base/16384/20740_fsm
  /shared/postgres_data/base/16384/20740_vm
  /shared/postgres_data/base/16384/20744
  /shared/postgres_data/base/16384/20746
  /shared/postgres_data/base/16384/20747
  /shared/postgres_data/base/16384/20747_fsm
  /shared/postgres_data/base/16384/20762
  /shared/postgres_data/base/16384/20763
  /shared/postgres_data/base/16384/20777
  /shared/postgres_data/base/16384/20811
  /shared/postgres_data/base/16384/20815
  /shared/postgres_data/base/16384/20817
  /shared/postgres_data/base/16384/20818
  /shared/postgres_data/base/16384/20936
  /shared/postgres_data/base/16384/20939
  /shared/postgres_data/base/16384/20940
  /shared/postgres_data/base/16384/20833
  /shared/postgres_data/base/16384/20833_fsm
  /shared/postgres_data/base/16384/20833_vm
  /shared/postgres_data/base/16384/20835
  /shared/postgres_data/base/16384/20903
  /shared/postgres_data/base/16384/20909
  /shared/postgres_data/base/16384/20875
  /shared/postgres_data/base/16384/20879
  /shared/postgres_data/base/16384/20881
  /shared/postgres_data/base/16384/20882
  /shared/postgres_data/base/16384/21379
  /shared/postgres_data/base/16384/20906
  /shared/postgres_data/base/16384/20908
  /shared/postgres_data/base/16384/20910
  /shared/postgres_data/base/16384/20942
  /shared/postgres_data/base/16384/20943
  /shared/postgres_data/base/16384/20946
  /shared/postgres_data/base/16384/20950
  /shared/postgres_data/base/16384/20952
  /shared/postgres_data/base/16384/20953
  /shared/postgres_data/base/16384/20955
  /shared/postgres_data/base/16384/20956
  /shared/postgres_data/base/16384/20979
  /shared/postgres_data/base/16384/20979_fsm
  /shared/postgres_data/base/16384/20979_vm
  /shared/postgres_data/base/16384/20983
  /shared/postgres_data/base/16384/20985
  /shared/postgres_data/base/16384/20986
  /shared/postgres_data/base/16384/20986_fsm
  /shared/postgres_data/base/16384/20990
  /shared/postgres_data/base/16384/20990_fsm
  /shared/postgres_data/base/16384/20995
  /shared/postgres_data/base/16384/20997
  /shared/postgres_data/base/16384/20998
  /shared/postgres_data/base/16384/21000
  /shared/postgres_data/base/16384/21002
  /shared/postgres_data/base/16384/21029
  /shared/postgres_data/base/16384/21029_fsm
  /shared/postgres_data/base/16384/21029_vm
  /shared/postgres_data/base/16384/21031
  /shared/postgres_data/base/16384/21038
  /shared/postgres_data/base/16384/21040
  /shared/postgres_data/base/16384/21047
  /shared/postgres_data/base/16384/21049
  /shared/postgres_data/base/16384/21056
  /shared/postgres_data/base/16384/21058
  /shared/postgres_data/base/16384/21075
  /shared/postgres_data/base/16384/21077
  /shared/postgres_data/base/16384/21083
  /shared/postgres_data/base/16384/21088
  /shared/postgres_data/base/16384/21090
  /shared/postgres_data/base/16384/21091
  /shared/postgres_data/base/16384/21093
  /shared/postgres_data/base/16384/21094
  /shared/postgres_data/base/16384/21094_fsm
  /shared/postgres_data/base/16384/21107
  /shared/postgres_data/base/16384/21107_fsm
  /shared/postgres_data/base/16384/21109
  /shared/postgres_data/base/16384/21127
  /shared/postgres_data/base/16384/21127_fsm
  /shared/postgres_data/base/16384/21141
  /shared/postgres_data/base/16384/21144
  /shared/postgres_data/base/16384/21149
  /shared/postgres_data/base/16384/21151
  /shared/postgres_data/base/16384/21152
  /shared/postgres_data/base/16384/21322
  /shared/postgres_data/base/16384/21322_fsm
  /shared/postgres_data/base/16384/21158
  /shared/postgres_data/base/16384/21162
  /shared/postgres_data/base/16384/21164
  /shared/postgres_data/base/16384/21165
  /shared/postgres_data/base/16384/21170
  /shared/postgres_data/base/16384/21175
  /shared/postgres_data/base/16384/21177
  /shared/postgres_data/base/16384/21178
  /shared/postgres_data/base/16384/21179
  /shared/postgres_data/base/16384/21180
  /shared/postgres_data/base/16384/21227
  /shared/postgres_data/base/16384/21230
  /shared/postgres_data/base/16384/21200
  /shared/postgres_data/base/16384/21200_fsm
  /shared/postgres_data/base/16384/21200_vm
  /shared/postgres_data/base/16384/21205
  /shared/postgres_data/base/16384/21207
  /shared/postgres_data/base/16384/21208
  /shared/postgres_data/base/16384/21208_fsm
  /shared/postgres_data/base/16384/21210
  /shared/postgres_data/base/16384/21210_fsm
  /shared/postgres_data/base/16384/21213
  /shared/postgres_data/base/16384/21218
  /shared/postgres_data/base/16384/21220
  /shared/postgres_data/base/16384/21221
  /shared/postgres_data/base/16384/21231
  /shared/postgres_data/base/16384/21232
  /shared/postgres_data/base/16384/21233
  /shared/postgres_data/base/16384/21249
  /shared/postgres_data/base/16384/21253
  /shared/postgres_data/base/16384/21255
  /shared/postgres_data/base/16384/21256
  /shared/postgres_data/base/16384/21262
  /shared/postgres_data/base/16384/21264
  /shared/postgres_data/base/16384/21268
  /shared/postgres_data/base/16384/21269
  /shared/postgres_data/base/16384/21269_fsm
  /shared/postgres_data/base/16384/21278
  /shared/postgres_data/base/16384/21279
  /shared/postgres_data/base/16384/21284
  /shared/postgres_data/base/16384/21286
  /shared/postgres_data/base/16384/21308
  /shared/postgres_data/base/16384/21314
  /shared/postgres_data/base/16384/21316
  /shared/postgres_data/base/16384/21328
  /shared/postgres_data/base/16384/21332
  /shared/postgres_data/base/16384/21334
  /shared/postgres_data/base/16384/21337
  /shared/postgres_data/base/16384/21338
  /shared/postgres_data/base/16384/21338_fsm
  /shared/postgres_data/base/16384/21342
  /shared/postgres_data/base/16384/21342_fsm
  /shared/postgres_data/base/16384/21342_vm
  /shared/postgres_data/base/16384/21346
  /shared/postgres_data/base/16384/21348
  /shared/postgres_data/base/16384/21349
  /shared/postgres_data/base/16384/21349_fsm
  /shared/postgres_data/base/16384/21351
  /shared/postgres_data/base/16384/21351_fsm
  /shared/postgres_data/base/16384/21352
  /shared/postgres_data/base/16384/21352_fsm
  /shared/postgres_data/base/16384/21353
  /shared/postgres_data/base/16384/21353_fsm
  /shared/postgres_data/base/16384/21354
  /shared/postgres_data/base/16384/21354_fsm
  /shared/postgres_data/base/16384/21358
  /shared/postgres_data/base/16384/21358_fsm
  /shared/postgres_data/base/16384/21363
  /shared/postgres_data/base/16384/21365
  /shared/postgres_data/base/16384/21374
  /shared/postgres_data/base/16384/21376
  /shared/postgres_data/base/16384/21382
  /shared/postgres_data/base/16384/21391
  /shared/postgres_data/base/16384/21393
  /shared/postgres_data/base/16384/21394
  /shared/postgres_data/base/16384/21401
  /shared/postgres_data/base/16384/21402
  /shared/postgres_data/base/16384/21405
  /shared/postgres_data/base/16384/21405_fsm
  /shared/postgres_data/base/16384/21409
  /shared/postgres_data/base/16384/21411
  /shared/postgres_data/base/16384/21412
  /shared/postgres_data/base/16384/21419
  /shared/postgres_data/base/16384/21420
  /shared/postgres_data/base/16384/21421
  /shared/postgres_data/base/16384/21421_fsm
  /shared/postgres_data/base/16384/21439
  /shared/postgres_data/base/16384/21440
  /shared/postgres_data/base/16384/21441
  /shared/postgres_data/base/16384/21442
  /shared/postgres_data/base/16384/21455
  /shared/postgres_data/base/16384/21455_fsm
  /shared/postgres_data/base/16384/21459
  /shared/postgres_data/base/16384/21461
  /shared/postgres_data/base/16384/21464
  /shared/postgres_data/base/16384/21468
  /shared/postgres_data/base/16384/21470
  /shared/postgres_data/base/16384/21471
  /shared/postgres_data/base/16384/21473
  /shared/postgres_data/base/16384/21474
  /shared/postgres_data/base/16384/21475
  /shared/postgres_data/base/16384/21480
  /shared/postgres_data/base/16384/21482
  /shared/postgres_data/base/13014/2613
  /shared/postgres_data/base/13014/2683
  /shared/postgres_data/base/1/2613
  /shared/postgres_data/base/1/2683
                                                            ok
Impostazione del prossimo OID per il nuovo cluster                            ok
Sincronizzazione della directory dati su disco                                 ok
Creazione dello script per analizzare il nuovo cluster                      ok
Creazione dello script per eliminare il vecchio cluster                       ok

Aggiornamento completato
----------------
Le statistiche dell'ottimizzatore non vengono trasferite da pg_upgrade, quindi,
once avviato il nuovo server, valuta di eseguire:
    ./analyze_new_cluster.sh

L'esecuzione di questo script eliminerà i file di dati del vecchio cluster:
    ./delete_old_cluster.sh
-------------------------------------------------------------------------------------
AGGIORNAMENTO DI POSTGRES COMPLETATO

Il vecchio database 10 è memorizzato in /shared/postgres_data_old

Per completare l'aggiornamento, ricostruisci nuovamente usando:

./launcher rebuild app
root@idmforums:/var/idmforums# ./launcher rebuild app
Assicurazione che il launcher sia aggiornato
Recupero dell'origine
Il launcher ha divergenze nel codice sorgente; ciò è previsto solo in modalità Dev
Arresto del contenitore precedente
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
Da https://github.com/discourse/pups
   17f04ec..e0ff889  master        -> origin/master
 * [nuovo ramo]      main          -> origin/main
 * [nuovo ramo]      stream-stdout -> origin/stream-stdout
 * [nuovo tag]       v1.1.1        -> v1.1.1
 * [nuovo tag]       v1.1.0        -> v1.1.0
 * [nuovo tag]       v1.2.0        -> v1.2.0
 * [nuovo tag]       v1.2.1        -> v1.2.1
Aggiornamento 17f04ec..e0ff889
Avanzamento rapido
 .github/workflows/ci.yml     |  29 ++++++
 .github/workflows/lint.yml   |  27 +++++
 .rubocop.yml                 |   3 +
 Gemfile                      |   2 +
 Guardfile                    |   4 +-
 README.md                    |  21 ++++
 Rakefile                     |  14 +--
 bin/pups                     |   8 +-
 lib/pups.rb                  |  32 ++++--
 lib/pups/cli.rb              |  92 ++++++++++-------
 lib/pups/command.rb          |  25 +++--
 lib/pups/config.rb           | 240 +++++++++++++++++++++++--------------------
 lib/pups/docker.rb           |  69 +++++++++++++
 lib/pups/exec_command.rb     | 182 ++++++++++++++++----------------
 lib/pups/file_command.rb     |  60 +++++------
 lib/pups/merge_command.rb    |  94 ++++++++---------
 lib/pups/replace_command.rb  |  70 +++++++------
 lib/pups/runit.rb            |  47 +++++----
 lib/pups/version.rb          |   4 +-
 pups.gemspec                 |  37 ++++---
 test/cli_test.rb             | 102 +++++++++++++++---
 test/config_test.rb          | 215 ++++++++++++++++++++++++++++----------
 test/docker_test.rb          | 157 ++++++++++++++++++++++++++++
 test/exec_command_test.rb    |  62 ++++++-----
 test/file_command_test.rb    |  17 ++-
 test/merge_command_test.rb   |  64 ++++++------
 test/replace_command_test.rb |  86 ++++++++--------
 test/test_helper.rb          |   2 +
 28 file modificate, 1158 inserzioni(+), 607 cancellazioni(-)
 creazione della modalità 100644 .github/workflows/ci.yml
 creazione della modalità 100644 .github/workflows/lint.yml
 creazione della modalità 100644 .rubocop.yml
 creazione della modalità 100644 lib/pups/docker.rb
 creazione della modalità 100644 test/docker_test.rb
Nota: controllo di 'v1.0.3'.

Ti trovi in uno stato 'HEAD distaccato'. Puoi esplorare, apportare modifiche
sperimentali e committarle; puoi anche scartare qualsiasi commit creato in questo
stato senza influenzare i rami eseguendo un altro checkout.

Se desideri creare un nuovo ramo per conservare i commit che hai creato, puoi
farlo (ora o in seguito) utilizzando -b con il comando checkout. Esempio:

  git checkout -b <nome-nuovo-ramo>

HEAD è ora su d1db030 taglio di una nuova versione
I, [2024-06-04T23:40:34.191210 #1]  INFO -- : Caricamento di --stdin
I, [2024-06-04T23:40:34.198692 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-06-04T23:40:34.228020 #1]  INFO -- : Generazione delle localizzazioni (questo potrebbe richiedere del tempo)...
Generazione completata.

I, [2024-06-04T23:40:34.228323 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-06-04T23:40:34.231055 #1]  INFO -- :
I, [2024-06-04T23:40:34.231294 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-06-04T23:40:34.233426 #1]  INFO -- :
I, [2024-06-04T23:40:34.233610 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-06-04T23:40:34.235052 #1]  INFO -- :
I, [2024-06-04T23:40:34.235243 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-06-04T23:40:34.237698 #1]  INFO -- :
I, [2024-06-04T23:40:34.237920 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-06-04T23:40:34.240767 #1]  INFO -- :
I, [2024-06-04T23:40:34.240960 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres già in esecuzione, arresta il contenitore ; exit 1
2024/06/04 23:40:34 socat[36] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): File o directory non trovata
I, [2024-06-04T23:40:34.245832 #1]  INFO -- :
I, [2024-06-04T23:40:34.246035 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-06-04T23:40:34.248131 #1]  INFO -- :
I, [2024-06-04T23:40:34.248370 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-06-04T23:40:34.251004 #1]  INFO -- :
I, [2024-06-04T23:40:34.251248 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:40:34.253455 #1]  INFO -- :
I, [2024-06-04T23:40:34.253706 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-04T23:40:34.255925 #1]  INFO -- :
I, [2024-06-04T23:40:34.260253 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-06-04T23:40:34.264161 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-06-04T23:40:34.269057 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-06-04T23:40:34.273413 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-06-04T23:40:34.273704 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-06-04T23:40:34.805509 #1]  INFO -- :
I, [2024-06-04T23:40:34.805817 #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, [2024-06-04T23:40:34.809381 #1]  INFO -- :
I, [2024-06-04T23:40:34.809593 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-06-04T23:40:34.822667 #1]  INFO -- :
I, [2024-06-04T23:40:34.823150 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-06-04T23:40:34.826082 #1]  INFO -- :
I, [2024-06-04T23:40:34.826302 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-06-04T23:40:34.831326 #1]  INFO -- :
I, [2024-06-04T23:40:34.831545 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-06-04T23:40:34.833650 #1]  INFO -- :
I, [2024-06-04T23:40:34.834325 #1]  INFO -- : Sostituzione di data_directory = '/var/lib/postgresql/13/main' con data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.835208 #1]  INFO -- : Sostituzione di (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.835549 #1]  INFO -- : Sostituzione di (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.835907 #1]  INFO -- : Sostituzione di (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.836288 #1]  INFO -- : Sostituzione di (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.836619 #1]  INFO -- : Sostituzione di (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.836928 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-06-04T23:40:34.840929 #1]  INFO -- :
I, [2024-06-04T23:40:34.841468 #1]  INFO -- : Sostituzione di (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.841795 #1]  INFO -- : Sostituzione di (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.842153 #1]  INFO -- : Sostituzione di (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-04T23:40:34.842724 #1]  INFO -- : Sostituzione di (?-mix:^#local +replication +postgres +peer$) con local replication postgres peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-04T23:40:34.843021 #1]  INFO -- : Sostituzione di (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-04T23:40:34.843276 #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, [2024-06-04T23:40:34.845795 #1]  INFO -- : > sleep 5
2024-06-04 23:40:34.941 UTC [59] LOG:  avvio di PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) su x86_64-pc-linux-gnu, compilato con gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2024-06-04 23:40:34.941 UTC [59] LOG:  in ascolto sull'indirizzo IPv4 "0.0.0.0", porta 5432
2024-06-04 23:40:34.941 UTC [59] LOG:  in ascolto sull'indirizzo IPv6 "::", porta 5432
2024-06-04 23:40:34.943 UTC [59] LOG:  in ascolto sulla socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2024-06-04 23:40:34.947 UTC [62] LOG:  il sistema di database è stato arrestato alle 2024-06-04 23:37:27 UTC
2024-06-04 23:40:34.954 UTC [59] LOG:  il sistema di database è pronto ad accettare connessioni
I, [2024-06-04T23:40:39.849613 #1]  INFO -- :
I, [2024-06-04T23:40:39.850223 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-06-04 23:40:39.910 UTC [72] postgres@postgres ERROR:  il database "discourse" esiste già
2024-06-04 23:40:39.910 UTC [72] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: errore: creazione del database fallita: ERROR:  il database "discourse" esiste già
I, [2024-06-04T23:40:39.913167 #1]  INFO -- :
I, [2024-06-04T23:40:39.913480 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-06-04 23:40:39.968 UTC [83] postgres@discourse ERROR:  il ruolo "discourse" esiste già
2024-06-04 23:40:39.968 UTC [83] postgres@discourse STATEMENT:  create user discourse;
ERROR:  il ruolo "discourse" esiste già
I, [2024-06-04T23:40:39.971330 #1]  INFO -- :
I, [2024-06-04T23:40:39.971638 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-06-04T23:40:40.022845 #1]  INFO -- : GRANT

I, [2024-06-04T23:40:40.023178 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-06-04T23:40:40.078407 #1]  INFO -- : ALTER SCHEMA

I, [2024-06-04T23:40:40.078622 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTA:  l'estensione "hstore" esiste già, salto
I, [2024-06-04T23:40:40.136299 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.136815 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTA:  l'estensione "pg_trgm" esiste già, salto
I, [2024-06-04T23:40:40.189922 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.190293 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTA:  l'estensione "hstore" esiste già, salto
I, [2024-06-04T23:40:40.235506 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.236235 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTA:  l'estensione "pg_trgm" esiste già, salto
I, [2024-06-04T23:40:40.285049 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-04T23:40:40.285412 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-06-04T23:40:40.288461 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2024-06-04T23:40:40.346156 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-06-04T23:40:40.349320 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-06-04T23:40:40.349444 #1]  INFO -- : > echo postgres installato!
I, [2024-06-04T23:40:40.352137 #1]  INFO -- : postgres installato!

I, [2024-06-04T23:40:40.357616 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2024-06-04T23:40:40.363179 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-06-04T23:40:40.368977 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-06-04T23:40:40.369997 #1]  INFO -- : Sostituzione di daemonize yes con  in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.370654 #1]  INFO -- : Sostituzione di (?-mix:^pidfile.*$) con  in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.370977 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-06-04T23:40:40.374785 #1]  INFO -- :
I, [2024-06-04T23:40:40.375165 #1]  INFO -- : Sostituzione di (?-mix:^logfile.*$) con logfile "" in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.375742 #1]  INFO -- : Sostituzione di (?-mix:^bind .*$) con  in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.376160 #1]  INFO -- : Sostituzione di (?-mix:^dir .*$) con dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.376570 #1]  INFO -- : Sostituzione di (?-mix:^protected-mode yes) con protected-mode no in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.377131 #1]  INFO -- : Sostituzione di # io-threads 4 con io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-06-04T23:40:40.377464 #1]  INFO -- : > echo redis installato
I, [2024-06-04T23:40:40.380055 #1]  INFO -- : redis installato

I, [2024-06-04T23:40:40.380270 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-06-04T23:40:40.384834 #1]  INFO -- : logfile ""

I, [2024-06-04T23:40:40.385077 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.confI, [2024-06-04T23:40:40.387343 #1]  INFO -- : > sleep 10
176:C 04 Jun 2024 23:40:40.395 # oO0OoO0OoO0Oo Redis sta avviando oO0OoO0OoO0Oo
176:C 04 Jun 2024 23:40:40.395 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=176, appena avviato
176:C 04 Jun 2024 23:40:40.395 # Configurazione caricata
176:M 04 Jun 2024 23:40:40.396 * orologio monotono: POSIX clock_gettime
176:M 04 Jun 2024 23:40:40.396 * Modalità di esecuzione=standalone, porta=6379.
176:M 04 Jun 2024 23:40:40.397 # AVVISO: L'impostazione TCP backlog di 511 non può essere applicata perché /proc/sys/net/core/somaxconn è impostato al valore inferiore di 128.
176:M 04 Jun 2024 23:40:40.397 # Server inizializzato
176:M 04 Jun 2024 23:40:40.397 # AVVISO: overcommit_memory è impostato a 0! Il salvataggio in background potrebbe fallire in condizioni di bassa memoria. Per risolvere questo problema, aggiungi 'vm.overcommit_memory = 1' a /etc/sysctl.conf e poi riavvia o esegui il comando 'sysctl vm.overcommit_memory=1' affinché abbia effetto.
176:M 04 Jun 2024 23:40:40.486 * DB caricato dal disco: 0.089 secondi
176:M 04 Jun 2024 23:40:40.486 * Pronto ad accettare connessioni
I, [2024-06-04T23:40:50.390217 #1]  INFO -- :
I, [2024-06-04T23:40:50.390530 #1]  INFO -- : > thpoff echo "thpoff è installato!"
I, [2024-06-04T23:40:50.395538 #1]  INFO -- : thpoff è installato!

I, [2024-06-04T23:40:50.395943 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborto! La posta non è configurata!"; exit 1; end'
I, [2024-06-04T23:40:50.651921 #1]  INFO -- :
I, [2024-06-04T23:40:50.652197 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborto! Il dominio non è configurato!"; exit 1; end'
I, [2024-06-04T23:40:50.708634 #1]  INFO -- :
I, [2024-06-04T23:40:50.709087 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborto! Il CDN deve avere un protocollo specificato. Una volta corretto, dovresti rifare il baking dei tuoi post ora per correggere tutti i post."; exit 1; end'
I, [2024-06-04T23:40:50.772151 #1]  INFO -- :
I, [2024-06-04T23:40:50.772293 #1]  INFO -- : > chown -R discourse /home/discourse
I, [2024-06-04T23:40:51.171567 #1]  INFO -- :
I, [2024-06-04T23:40:51.172282 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-06-04T23:40:51.176013 #1]  INFO -- :
I, [2024-06-04T23:40:51.179620 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2024-06-04T23:40:51.184170 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-06-04T23:40:51.189593 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-06-04T23:40:51.193215 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-06-04T23:40:51.196711 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-06-04T23:40:51.199735 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-06-04T23:40:51.199839 #1]  INFO -- : Sostituzione di # postgres con sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-06-04T23:40:51.200122 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.confI, [2024-06-04T23:40:51.201788 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
205:C 04 Jun 2024 23:40:51.204 # oO0OoO0OoO0Oo Redis sta avviando oO0OoO0OoO0Oo
205:C 04 Jun 2024 23:40:51.204 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=205, appena avviato
205:C 04 Jun 2024 23:40:51.204 # Configurazione caricata
205:M 04 Jun 2024 23:40:51.205 * orologio monotono: POSIX clock_gettime
205:M 04 Jun 2024 23:40:51.206 # Avviso: Impossibile creare la socket TCP di ascolto del server *:6379: bind: Indirizzo già in uso
205:M 04 Jun 2024 23:40:51.206 # Errore nell'ascolto sulla porta 6379 (TCP), abortimento.
Controllo dei file: 100% (28860/28860), completato.
I, [2024-06-04T23:40:55.175162 #1]  INFO -- : HEAD è ora su 74f71503 CARATTERISTICA: Eliminazione automatica dei topic stub scaduti dopo che l'intero topic è stato unito a un altro topic (#13187)

I, [2024-06-04T23:40:55.175641 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2024-06-04T23:40:55.313620 #1]  INFO -- :
I, [2024-06-04T23:40:55.314088 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin main
I, [2024-06-04T23:40:55.319546 #1]  INFO -- :
I, [2024-06-04T23:40:55.319970 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2024-06-04T23:40:55.326577 #1]  INFO -- :
I, [2024-06-04T23:40:55.326933 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
Da https://github.com/discourse/discourse
 * ramo              tests-passed -> FETCH_HEAD
 * [nuovo ramo]        tests-passed -> origin/tests-passed
I, [2024-06-04T23:41:01.524833 #1]  INFO -- :
I, [2024-06-04T23:41:01.524965 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
Passaggio a un nuovo ramo 'tests-passed'
I, [2024-06-04T23:41:03.913062 #1]  INFO -- : Ramo 'tests-passed' impostato per tracciare il ramo remoto 'tests-passed' da 'origin'.

I, [2024-06-04T23:41:03.913255 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-06-04T23:41:03.918098 #1]  INFO -- :
I, [2024-06-04T23:41:03.918279 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-06-04T23:41:03.922201 #1]  INFO -- :
I, [2024-06-04T23:41:03.922414 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-06-04T23:41:03.924838 #1]  INFO -- :
I, [2024-06-04T23:41:03.924962 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-06-04T23:41:03.927107 #1]  INFO -- :
I, [2024-06-04T23:41:03.927222 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-06-04T23:41:03.929087 #1]  INFO -- :
I, [2024-06-04T23:41:03.929131 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-06-04T23:41:03.931092 #1]  INFO -- :
I, [2024-06-04T23:41:03.931136 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-06-04T23:41:03.934304 #1]  INFO -- :
I, [2024-06-04T23:41:03.934352 #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, [2024-06-04T23:41:03.937279 #1]  INFO -- :
I, [2024-06-04T23:41:03.937327 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-06-04T23:41:03.940307 #1]  INFO -- :
I, [2024-06-04T23:41:03.940354 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-06-04T23:41:03.943514 #1]  INFO -- :
I, [2024-06-04T23:41:03.943666 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-06-04T23:41:03.949053 #1]  INFO -- :
I, [2024-06-04T23:41:03.949340 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-06-04T23:41:03.954231 #1]  INFO -- :
I, [2024-06-04T23:41:03.954282 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-06-04T23:41:04.627003 #1]  INFO -- :
I, [2024-06-04T23:41:04.627425 #1]  INFO -- : > cd /var/www/discourse && find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-06-04T23:41:04.635885 #1]  INFO -- :
I, [2024-06-04T23:41:04.636206 #1]  INFO -- : Sostituzione di # redis con sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-06-04T23:41:04.636576 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Clonazione in 'docker_manager'...
I, [2024-06-04T23:41:05.492064 #1]  INFO -- :
I, [2024-06-04T23:41:05.492420 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.496362 #1]  INFO -- :
I, [2024-06-04T23:41:05.496605 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-06-04T23:41:05.499287 #1]  INFO -- :
I, [2024-06-04T23:41:05.499391 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-06-04T23:41:05.502196 #1]  INFO -- :
I, [2024-06-04T23:41:05.502884 #1]  INFO -- : Sostituzione di pid /run/nginx.pid; con daemon off; in /etc/nginx/nginx.conf
I, [2024-06-04T23:41:05.503420 #1]  INFO -- : Sostituzione di (?m-ix:upstream[^\}]+\}) con upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.503648 #1]  INFO -- : Sostituzione di (?-mix:server_name.+$) con server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.503940 #1]  INFO -- : Sostituzione di (?-mix:client_max_body_size.+$) con client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-06-04T23:41:05.504150 #1]  INFO -- : > echo "configurazione web completata"
I, [2024-06-04T23:41:05.506905 #1]  INFO -- : configurazione web completata

I, [2024-06-04T23:41:05.507186 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERRORE: Errore nell'installazione di bundler:
        bundler-2.5.3 richiede Ruby versione >= 3.0.0. La versione attuale di Ruby è 2.7.2.137.
I, [2024-06-04T23:41:05.940817 #1]  INFO -- :
I, [2024-06-04T23:41:05.941641 #1]  INFO -- : Terminazione dei processi asincroni
I, [2024-06-04T23:41:05.941717 #1]  INFO -- : Invio di INT a 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: 59
I, [2024-06-04T23:41:05.941810 #1]  INFO -- : Invio di TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 176
2024-06-04 23:41:05.942 UTC [59] LOG:  ricevuta richiesta di arresto rapido
176:signal-handler (1717544465) Ricevuto SIGTERM, programmazione di arresto...
2024-06-04 23:41:05.944 UTC [59] LOG:  annullamento di tutte le transazioni attive
2024-06-04 23:41:05.946 UTC [59] LOG:  worker di sfondo "logical replication launcher" (PID 68) uscito con codice di uscita 12024-06-04 23:41:05.948 UTC [63] LOG:  arresto in corso
176:M 04 Jun 2024 23:41:05.977 # Arresto richiesto dall'utente...
176:M 04 Jun 2024 23:41:05.977 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
2024-06-04 23:41:05.978 UTC [59] LOG:  sistema di database arrestato
176:M 04 Jun 2024 23:41:06.088 * DB salvato su disco
176:M 04 Jun 2024 23:41:06.088 # Redis è ora pronto per uscire, arrivederci...


FALLITO
--------------------
Pups::ExecError: cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) fallito con ritorno #<Process::Status: pid 314 exit 1>
Posizione del fallimento: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec fallito con i parametri {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\"\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
2c1f8978c3a71905d6590121f0fd282697ece4b0485c25f9cc8fbdbac2a579a1
** FALLITO L'AVVIO ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
root@idmforums:/var/idmforums# ./discourse-doctor
DISCOURSE DOCTOR Wed Jun 5 00:00:48 UTC 2024
OS: Linux idmforums.com 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux


Trovato containers/app.yml



==================== INFO DOCKER ====================
VERSIONE DOCKER: Docker version 24.0.2, build cb74dfc

PROCESSI DOCKER (docker ps -a)

CONTAINER ID   IMAGE                 COMMAND        CREATED       STATUS                      PORTS     NAMES
2983891adf1b   local_discourse/app   "/sbin/boot"   5 years ago   Exited (5) 24 minutes ago             app

==================== PROBLEMA GRAVE!!!! ====================
app non in esecuzione!
Tentativo di ricostruzione
==================== LOG RICOSTRUZIONE ====================
Verifica che il launcher sia aggiornato
Recupero origine
Il launcher ha divergato la sorgente, ci si aspetta solo in modalità Dev
Arresto del vecchio container
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
From https://github.com/discourse/pups
   17f04ec..e0ff889  master        -> origin/master
 * [new branch]      main          -> origin/main
 * [new branch]      stream-stdout -> origin/stream-stdout
 * [new tag]         v1.1.1        -> v1.1.1
 * [new tag]         v1.1.0        -> v1.1.0
 * [new tag]         v1.2.0        -> v1.2.0
 * [new tag]         v1.2.1        -> v1.2.1
Aggiornamento 17f04ec..e0ff889
Fast-forward
 .github/workflows/ci.yml     |  29 ++++++
 .github/workflows/lint.yml   |  27 +++++
 .rubocop.yml                 |   3 +
 Gemfile                      |   2 +
 Guardfile                    |   4 +-
 README.md                    |  21 ++++
 Rakefile                     |  14 +--
 bin/pups                     |   8 +-
 lib/pups.rb                  |  32 ++++--
 lib/pups/cli.rb              |  92 ++++++++++-------
 lib/pups/command.rb          |  25 +++--
 lib/pups/config.rb           | 240 +++++++++++++++++++++++--------------------
 lib/pups/docker.rb           |  69 +++++++++++++
 lib/pups/exec_command.rb     | 182 ++++++++++++++++----------------
 lib/pups/file_command.rb     |  60 +++++------
 lib/pups/merge_command.rb    |  94 ++++++++---------
 lib/pups/replace_command.rb  |  70 +++++++------
 lib/pups/runit.rb            |  47 +++++----
 lib/pups/version.rb          |   4 +-
 pups.gemspec                 |  37 ++++---
 test/cli_test.rb             | 102 +++++++++++++++---
 test/config_test.rb          | 215 ++++++++++++++++++++++++++++----------
 test/docker_test.rb          | 157 ++++++++++++++++++++++++++++
 test/exec_command_test.rb    |  62 ++++++-----
 test/file_command_test.rb    |  17 ++-
 test/merge_command_test.rb   |  64 ++++++------
 test/replace_command_test.rb |  86 ++++++++--------
 test/test_helper.rb          |   2 +
 28 files changed, 1158 insertions(+), 607 deletions(-)
 create mode 100644 .github/workflows/ci.yml
 create mode 100644 .github/workflows/lint.yml
 create mode 100644 .rubocop.yml
 create mode 100644 lib/pups/docker.rb
 create mode 100644 test/docker_test.rb
Nota: controllo di 'v1.0.3'.

Sei in uno stato 'detached HEAD'. Puoi guardare in giro, fare modifiche sperimentali
e committarle, e puoi scartare qualsiasi commit che fai in questo
stato senza influenzare i rami eseguendo un altro checkout.

Se vuoi creare un nuovo ramo per mantenere i commit che crei, puoi
farlo (ora o più tardi) usando -b con il comando checkout. Esempio:

  git checkout -b <nome-nuovo-ramo>

HEAD è ora su d1db030 rilascio di una nuova versione
I, [2024-06-05T00:00:57.328836 #1]  INFO -- : Caricamento --stdin
I, [2024-06-05T00:00:57.353218 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-06-05T00:00:57.434023 #1]  INFO -- : Generazione delle impostazioni locali (potrebbe volerci un po')...
Generazione completata.

I, [2024-06-05T00:00:57.434294 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-06-05T00:00:57.439272 #1]  INFO -- :
I, [2024-06-05T00:00:57.439537 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-06-05T00:00:57.444532 #1]  INFO -- :
I, [2024-06-05T00:00:57.444864 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-06-05T00:00:57.447574 #1]  INFO -- :
I, [2024-06-05T00:00:57.447837 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-06-05T00:00:57.450039 #1]  INFO -- :
I, [2024-06-05T00:00:57.450203 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-06-05T00:00:57.451803 #1]  INFO -- :
I, [2024-06-05T00:00:57.451909 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres già in esecuzione arresta container ; exit 1
2024/06/05 00:00:57 socat[36] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-06-05T00:00:57.458930 #1]  INFO -- :
I, [2024-06-05T00:00:57.459220 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-06-05T00:00:57.462700 #1]  INFO -- :
I, [2024-06-05T00:00:57.462930 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-06-05T00:00:57.466208 #1]  INFO -- :
I, [2024-06-05T00:00:57.466430 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-05T00:00:57.469494 #1]  INFO -- :
I, [2024-06-05T00:00:57.470274 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-06-05T00:00:57.473224 #1]  INFO -- :
I, [2024-06-05T00:00:57.480446 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-06-05T00:00:57.486006 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-06-05T00:00:57.489527 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-06-05T00:00:57.492803 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-06-05T00:00:57.493015 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-06-05T00:00:59.462101 #1]  INFO -- :
I, [2024-06-05T00:00:59.463057 #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, [2024-06-05T00:00:59.472204 #1]  INFO -- :
I, [2024-06-05T00:00:59.472399 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-06-05T00:00:59.525447 #1]  INFO -- :
I, [2024-06-05T00:00:59.525804 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-06-05T00:00:59.529442 #1]  INFO -- :
I, [2024-06-05T00:00:59.529868 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-06-05T00:00:59.541565 #1]  INFO -- :
I, [2024-06-05T00:00:59.541671 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-06-05T00:00:59.544476 #1]  INFO -- :
I, [2024-06-05T00:00:59.545249 #1]  INFO -- : Sostituzione di data_directory = '/var/lib/postgresql/13/main' con data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.547238 #1]  INFO -- : Sostituzione di (?-mix:#?listen_addresses *=.*) con listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.553596 #1]  INFO -- : Sostituzione di (?-mix:#?synchronous_commit *=.*) con synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.555430 #1]  INFO -- : Sostituzione di (?-mix:#?shared_buffers *=.*) con shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.557291 #1]  INFO -- : Sostituzione di (?-mix:#?work_mem *=.*) con work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.559120 #1]  INFO -- : Sostituzione di (?-mix:#?default_text_search_config *=.*) con default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.560802 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-06-05T00:00:59.566660 #1]  INFO -- :
I, [2024-06-05T00:00:59.568041 #1]  INFO -- : Sostituzione di (?-mix:#?checkpoint_segments *=.*) con checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.568400 #1]  INFO -- : Sostituzione di (?-mix:#?logging_collector *=.*) con logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.570171 #1]  INFO -- : Sostituzione di (?-mix:#?log_min_duration_statement *=.*) con log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-06-05T00:00:59.572341 #1]  INFO -- : Sostituzione di (?-mix:^#local +replication +postgres +peer$) con local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-05T00:00:59.573673 #1]  INFO -- : Sostituzione di (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-06-05T00:00:59.574292 #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, [2024-06-05T00:00:59.579227 #1]  INFO -- : > sleep 5
2024-06-05 00:01:01.152 UTC [59] LOG:  avvio PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) su x86_64-pc-linux-gnu, compilato da gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2024-06-05 00:01:01.154 UTC [59] LOG:  ascolto su indirizzo IPv4 "0.0.0.0", porta 5432
2024-06-05 00:01:01.154 UTC [59] LOG:  ascolto su indirizzo IPv6 "::", porta 5432
2024-06-05 00:01:01.163 UTC [59] LOG:  ascolto su socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2024-06-05 00:01:01.176 UTC [62] LOG:  il sistema database è stato arrestato il 2024-06-04 23:41:05 UTC
2024-06-05 00:01:01.194 UTC [59] LOG:  il sistema database è pronto ad accettare connessioni
I, [2024-06-05T00:01:04.586109 #1]  INFO -- :
I, [2024-06-05T00:01:04.587788 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-06-05 00:01:04.746 UTC [72] postgres@postgres ERROR:  database "discourse" già esiste
2024-06-05 00:01:04.746 UTC [72] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: errore: creazione database fallita: ERROR:  database "discourse" già esiste
I, [2024-06-05T00:01:04.751960 #1]  INFO -- :
I, [2024-06-05T00:01:04.752761 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-06-05 00:01:04.839 UTC [83] postgres@discourse ERROR:  ruolo "discourse" già esiste
2024-06-05 00:01:04.839 UTC [83] postgres@discourse STATEMENT:  create user discourse;
ERROR:  ruolo "discourse" già esiste
I, [2024-06-05T00:01:04.843132 #1]  INFO -- :
I, [2024-06-05T00:01:04.843717 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-06-05T00:01:04.917103 #1]  INFO -- : GRANT

I, [2024-06-05T00:01:04.917860 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-06-05T00:01:04.975469 #1]  INFO -- : ALTER SCHEMA

I, [2024-06-05T00:01:04.975754 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  estensione "hstore" già esiste, salto
I, [2024-06-05T00:01:05.035684 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.036028 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  estensione "pg_trgm" già esiste, salto
I, [2024-06-05T00:01:05.111516 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.111949 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  estensione "hstore" già esiste, salto
I, [2024-06-05T00:01:05.170419 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.171033 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  estensione "pg_trgm" già esiste, salto
I, [2024-06-05T00:01:05.230135 #1]  INFO -- : CREATE EXTENSION

I, [2024-06-05T00:01:05.230646 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-06-05T00:01:05.233158 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2024-06-05T00:01:05.303077 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-06-05T00:01:05.308487 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-06-05T00:01:05.308837 #1]  INFO -- : > echo postgres installato!
I, [2024-06-05T00:01:05.311334 #1]  INFO -- : postgres installato!

I, [2024-06-05T00:01:05.316004 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2024-06-05T00:01:05.322422 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-06-05T00:01:05.327354 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-06-05T00:01:05.327925 #1]  INFO -- : Sostituzione di daemonize yes con  in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.329358 #1]  INFO -- : Sostituzione di (?-mix:^pidfile.*$) con  in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.329888 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-06-05T00:01:05.333762 #1]  INFO -- :
I, [2024-06-05T00:01:05.334163 #1]  INFO -- : Sostituzione di (?-mix:^logfile.*$) con logfile "" in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.334652 #1]  INFO -- : Sostituzione di (?-mix:^bind .*$) con  in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.335132 #1]  INFO -- : Sostituzione di (?-mix:^dir .*$) con dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.335627 #1]  INFO -- : Sostituzione di (?-mix:^protected-mode yes) con protected-mode no in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.336004 #1]  INFO -- : Sostituzione di # io-threads 4 con io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-06-05T00:01:05.336339 #1]  INFO -- : > echo redis installato
I, [2024-06-05T00:01:05.338198 #1]  INFO -- : redis installato

I, [2024-06-05T00:01:05.338348 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-06-05T00:01:05.342171 #1]  INFO -- : logfile ""

I, [2024-06-05T00:01:05.342315 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-06-05T00:01:05.343675 #1]  INFO -- : > sleep 10
176:C 05 Jun 2024 00:01:05.349 # oO0OoO0OoO0Oo Redis sta avviando oO0OoO0OoO0Oo
176:C 05 Jun 2024 00:01:05.349 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=176, appena avviato
176:C 05 Jun 2024 00:01:05.349 # Configurazione caricata
176:M 05 Jun 2024 00:01:05.350 * monotonic clock: POSIX clock_gettime
176:M 05 Jun 2024 00:01:05.352 * Modalità di esecuzione=standalone, porta=6379.
176:M 05 Jun 2024 00:01:05.352 # ATTENZIONE: L'impostazione TCP backlog di 511 non può essere applicata perché /proc/sys/net/core/somaxconn è impostato sul valore inferiore di 128.
176:M 05 Jun 2024 00:01:05.352 # Server inizializzato
176:M 05 Jun 2024 00:01:05.352 # ATTENZIONE overcommit_memory è impostato a 0! Il salvataggio in background potrebbe fallire in condizioni di memoria bassa. Per risolvere questo problema aggiungi 'vm.overcommit_memory = 1' a /etc/sysctl.conf e poi riavvia o esegui il comando 'sysctl vm.overcommit_memory=1' per rendere effettive le modifiche.
176:M 05 Jun 2024 00:01:05.353 * Caricamento RDB prodotto dalla versione 6.2.3
176:M 05 Jun 2024 00:01:05.353 * Età RDB 1200 secondi
176:M 05 Jun 2024 00:01:05.353 * Utilizzo memoria RDB alla creazione 19.09 Mb
176:M 05 Jun 2024 00:01:05.797 * DB caricato dal disco: 0.445 secondi
176:M 05 Jun 2024 00:01:05.797 * Pronto ad accettare connessioni
I, [2024-06-05T00:01:15.346994 #1]  INFO -- :
I, [2024-06-05T00:01:15.349025 #1]  INFO -- : > thpoff echo "thpoff è installato!"
I, [2024-06-05T00:01:15.361046 #1]  INFO -- : thpoff è installato!

I, [2024-06-05T00:01:15.361523 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Interruzione! Mail non configurata!"; exit 1; end'
I, [2024-06-05T00:01:16.346114 #1]  INFO -- :
I, [2024-06-05T00:01:16.347959 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Interruzione! Dominio non configurato!"; exit 1; end'
I, [2024-06-05T00:01:16.442910 #1]  INFO -- :
I, [2024-06-05T00:01:16.443630 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Interruzione! CDN deve avere un protocollo specificato. Una volta corretto dovresti ribakare i tuoi post ora per correggere tutti i post."; exit 1; end'
I, [2024-06-05T00:01:16.509332 #1]  INFO -- :
I, [2024-06-05T00:01:16.510048 #1]  INFO -- : > chown -R discourse /home/discourse
I, [2024-06-05T00:01:16.819286 #1]  INFO -- :
I, [2024-06-05T00:01:16.819964 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-06-05T00:01:16.825836 #1]  INFO -- :
I, [2024-06-05T00:01:16.830100 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2024-06-05T00:01:16.835903 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-06-05T00:01:16.842255 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-06-05T00:01:16.849165 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-06-05T00:01:16.854937 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-06-05T00:01:16.859605 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-06-05T00:01:16.859818 #1]  INFO -- : Sostituzione di # postgres con sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-06-05T00:01:16.860146 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-06-05T00:01:16.863691 #1]  INFO -- : > cd /var/www/discourse && git reset --hard
205:C 05 Jun 2024 00:01:16.868 # oO0OoO0OoO0Oo Redis sta avviando oO0OoO0OoO0Oo
205:C 05 Jun 2024 00:01:16.868 # Redis version=6.2.3, bits=64, commit=00000000, modified=0, pid=205, appena avviato
205:C 05 Jun 2024 00:01:16.868 # Configurazione caricata
205:M 05 Jun 2024 00:01:16.869 * monotonic clock: POSIX clock_gettime
205:M 05 Jun 2024 00:01:16.870 # Avviso: Impossibile creare socket di ascolto TCP server *:6379: bind: Indirizzo già in uso
205:M 05 Jun 2024 00:01:16.870 # Ascolto sulla porta 6379 (TCP) fallito, interruzione.
Controllo dei file: 100% (28860/28860), fatto.
I, [2024-06-05T00:01:21.834261 #1]  INFO -- : HEAD è ora su 74f71503 FEATURE: Eliminazione automatica con timer dei topic stub dopo che l'intero topic è stato unito in un altro topic (#13187)

I, [2024-06-05T00:01:21.834977 #1]  INFO -- : > cd /var/www/discourse && git clean -f
I, [2024-06-05T00:01:22.023320 #1]  INFO -- :
I, [2024-06-05T00:01:22.023616 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches --add origin main
I, [2024-06-05T00:01:22.043353 #1]  INFO -- :
I, [2024-06-05T00:01:22.043499 #1]  INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2024-06-05T00:01:22.067432 #1]  INFO -- :
I, [2024-06-05T00:01:22.067586 #1]  INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
From https://github.com/discourse/discourse
 * branch              tests-passed -> FETCH_HEAD
 * [new branch]        tests-passed -> origin/tests-passed
I, [2024-06-05T00:01:28.337837 #1]  INFO -- :
I, [2024-06-05T00:01:28.338598 #1]  INFO -- : > cd /var/www/discourse && git checkout tests-passed
Passaggio a un nuovo ramo 'tests-passed'
I, [2024-06-05T00:01:31.534502 #1]  INFO -- : Ramo 'tests-passed' impostato per tracciare il ramo remoto 'tests-passed' da 'origin'.

I, [2024-06-05T00:01:31.535226 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-06-05T00:01:31.540890 #1]  INFO -- :
I, [2024-06-05T00:01:31.540982 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-06-05T00:01:31.544674 #1]  INFO -- :
I, [2024-06-05T00:01:31.544787 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-06-05T00:01:31.549410 #1]  INFO -- :
I, [2024-06-05T00:01:31.549578 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-06-05T00:01:31.553124 #1]  INFO -- :
I, [2024-06-05T00:01:31.553284 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-06-05T00:01:31.557663 #1]  INFO -- :
I, [2024-06-05T00:01:31.557825 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-06-05T00:01:31.561174 #1]  INFO -- :
I, [2024-06-05T00:01:31.561325 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-06-05T00:01:31.569529 #1]  INFO -- :
I, [2024-06-05T00:01:31.570383 #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, [2024-06-05T00:01:31.577627 #1]  INFO -- :
I, [2024-06-05T00:01:31.577843 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-06-05T00:01:31.583781 #1]  INFO -- :
I, [2024-06-05T00:01:31.583970 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-06-05T00:01:31.591764 #1]  INFO -- :
I, [2024-06-05T00:01:31.591954 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-06-05T00:01:31.598164 #1]  INFO -- :
I, [2024-06-05T00:01:31.598326 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-06-05T00:01:31.603561 #1]  INFO -- :
I, [2024-06-05T00:01:31.603737 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-06-05T00:01:32.101400 #1]  INFO -- :
I, [2024-06-05T00:01:32.102064 #1]  INFO -- : > cd /var/www/discourse && find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-06-05T00:01:32.111566 #1]  INFO -- :
I, [2024-06-05T00:01:32.112387 #1]  INFO -- : Sostituzione di # redis con sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-06-05T00:01:32.113094 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Clonazione in 'docker_manager'...
I, [2024-06-05T00:01:33.452577 #1]  INFO -- :
I, [2024-06-05T00:01:33.454075 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.483225 #1]  INFO -- :
I, [2024-06-05T00:01:33.483456 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-06-05T00:01:33.486077 #1]  INFO -- :
I, [2024-06-05T00:01:33.486156 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-06-05T00:01:33.488912 #1]  INFO -- :
I, [2024-06-05T00:01:33.490137 #1]  INFO -- : Sostituzione di pid /run/nginx.pid; con daemon off; in /etc/nginx/nginx.conf
I, [2024-06-05T00:01:33.491232 #1]  INFO -- : Sostituzione di (?m-ix:upstream[^\}]+\}) con upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.491544 #1]  INFO -- : Sostituzione di (?-mix:server_name.+$) con server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.501000 #1]  INFO -- : Sostituzione di (?-mix:client_max_body_size.+$) con client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-06-05T00:01:33.511360 #1]  INFO -- : > echo "configurazione web completata"
I, [2024-06-05T00:01:33.513903 #1]  INFO -- : configurazione web completata

I, [2024-06-05T00:01:33.514452 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR:  Errore durante l'installazione di bundler:
        bundler-2.5.3 richiede Ruby versione >= 3.0.0. La versione ruby corrente è 2.7.2.137.
I, [2024-06-05T00:01:34.070583 #1]  INFO -- :
I, [2024-06-05T00:01:34.072163 #1]  INFO -- : Terminazione processi asincroni
I, [2024-06-05T00:01:34.072226 #1]  INFO -- : Invio INT a 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: 59
I, [2024-06-05T00:01:34.072309 #1]  INFO -- : Invio TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 176
2024-06-05 00:01:34.072 UTC [59] LOG:  richiesta di arresto rapido ricevuta
176:signal-handler (1717545694) Ricevuto SIGTERM pianificazione arresto...
2024-06-05 00:01:34.074 UTC [59] LOG:  annullamento di qualsiasi transazione attiva
2024-06-05 00:01:34.080 UTC [59] LOG:  worker di background "logical replication launcher" (PID 68) uscito con codice di uscita 1
2024-06-05 00:01:34.081 UTC [63] LOG:  arresto in corso
2024-06-05 00:01:34.123 UTC [59] LOG:  sistema database arrestato
176:M 05 Jun 2024 00:01:34.124 # Arresto richiesto dall'utente...
176:M 05 Jun 2024 00:01:34.125 * Salvataggio snapshot RDB finale prima dell'uscita.
176:M 05 Jun 2024 00:01:34.249 * DB salvato su disco
176:M 05 Jun 2024 00:01:34.249 # Redis è ora pronto per uscire, arrivederci...


FALLITO
--------------------
Pups::ExecError: cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock) fallito con ritorno #<Process::Status: pid 314 exit 1>
Posizione del fallimento: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec fallito con i parametri {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,\"\"); print $0 }' Gemfile.lock)", "find $home ! -user discourse -exec chown discourse {} \\+"]}
7eb3a03475aef78c0e1752bc7845710a0ea739300bd8302356369f362d1bab6f
** BOOTSTRAP FALLITO ** scorri verso l'alto e cerca messaggi di errore precedenti, potrebbe essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
==================== FINE LOG RICOSTRUZIONE ====================
Ricostruzione app fallita.

Verifica del nome del dominio . . .

Connessione a idmforums.com riuscita.
Probabilmente dovresti rimuovere eventuali plugin non standard e ricostruire.
Tentativo di riavvio del container esistente. . .

avvio del container esistente
+ /usr/bin/docker start app
Risposta di errore dal demone: il driver non è riuscito a programmare la connettività esterna sull'endpoint app (6a5f876fc5e37ebb76be4bc5ef4a80ef5679fce4f4ab547eb337cafb2b1d4619): Errore nell'avvio del proxy userland: listen tcp4 0.0.0.0:443: bind: indirizzo già in uso
Errore: impossibile avviare i container: app
Riavvio del container fallito.


==================== PLUGIN ====================
          - git clone https://github.com/discourse/docker_manager.git

Nessun plugin non ufficiale rilevato.

Vedi https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb per l'elenco ufficiale.

========================================
Versione Discourse su idmforums.com: NON TROVATA
Versione Discourse su localhost: NON TROVATA


==================== INFORMAZIONI MEMORIA ====================
RAM (MB): 8167

              totale        usato        libero      condiviso  buff/cache   disponibile
Mem:           7976         775        2484           6        4716        6887
Swap:           255          31         224

==================== CONTROLLO SPAZIO DISCO ====================
---------- Spazio Disco OS ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda        158G   56G   94G  38% /

==================== INFORMAZIONI DISCO ====================
Disco /dev/sda: 159.8 GiB, 171534450688 byte, 335028224 settori
Unità: settori di 1 * 512 = 512 byte
Dimensione settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O (minimo/ottimale): 512 byte / 512 byte


Disco /dev/sdb: 260 MiB, 272629760 byte, 532480 settori
Unità: settori di 1 * 512 = 512 byte
Dimensione settore (logico/fisico): 512 byte / 512 byte
Dimensione I/O (minimo/ottimale): 512 byte / 512 byte

==================== FINE INFORMAZIONI DISCO ====================

Mi sembra che l’app non sia più in esecuzione? Come la avvio?

È discourse_docker su un commit diverso da latest?

Puoi provare

./launcher start app

Ma sono abbastanza sicuro che non funzionerà.

Come ho suggerito, devi aggiornare il tuo sistema operativo. Questa è ancora la mia raccomandazione, ma ora non hai più la possibilità di tornare al tuo server in esecuzione.

dovrebbe essere sul ramo di backup master che ho creato prima di provare l’aggiornamento.

Ho provato ad avviare l’app come sopra, ma restituisce solo un 502 bad gateway

Ho provato a cambiare ramo e ad avviare l’app, ma si lamenta che il driver di archiviazione non è aufs (è overlay2). Chiede di leggere il codice sorgente di launcher e capire come aggirare questo controllo.

Come faccio a fare quello che chiede?

Capisco, ma a questo punto era al di fuori delle mie capacità.

Non è possibile eseguire ./launcher rebuild app - Docker storage driver non è supportato - support - Discourse Meta

Ho letto questa discussione, ma non dice come aggirare il controllo, solo come cambiare il driver di archiviazione.

MODIFICA: ok, ho letto il codice su github e ho eseguito il launcher dal ramo di backup master usando il comando “./launcher start app --skip-prereqs”.

Sfortunatamente, segnala ancora 502 bad gateway

Per fare eco a @pfaffman, se hai la possibilità, salva semplicemente un backup e avvia un server completamente nuovo nel cloud e ripristina il tuo backup.

Ci possono volere appena 30 minuti per completare (e questo argomento ha 3 giorni di età :slight_smile: )

Tutto bello in teoria, ma non ho la possibilità di farlo. Non posso puntare il nome di dominio al nuovo server perché non ho accesso al dominio.

Sto lavorando sul server di qualcun altro, che non ha il tempo o la cura di essere coinvolto in ciò che stiamo cercando di fare (motivo per cui è diventato così obsoleto in primo luogo). Quindi, a questo punto devo risolvere un problema di riparazione.

Puoi invece spostare l’IP su un server diverso?

Se no, capito, è un po’ limitante!

In tal caso, puoi eseguire un

apt dist-upgrade

per aggiornare il sistema operativo e vedere se la ricompilazione funzionerà.

Ma se chiunque possieda il dominio non si preoccupa, ciò che sarei tentato di fare è ottenere un nuovo dominio e reindirizzare il sito a un dominio che puoi controllare.

Grazie, ho provato il dist-upgrade, ma l’app ancora non si ricompila a causa di una versione Ruby obsoleta. Ho provato ad aggiornare Ruby senza successo. Sembra che Discourse utilizzi una propria versione di Ruby, non quella installata in Ubuntu?

Questi sono i passaggi che ho eseguito per provare a correggere Ruby:

1: creare il nuovo template (dalla directory dei container) navigare nella directory dei template: cd ../templates creare il nuovo file di template e aprire l’editor: nano web.ruby.template.yml Aggiungere le seguenti righe al file

params:
  ruby_version: "3.0.0"

2: Aggiungere il template ad app.yml tornare ai container: cd ../containers aprire app.yml in nano: nano app.yml Aggiungere il nuovo file di template all’elenco dei template (guardare l’ultima riga):

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.ruby.template.yml"  # Aggiunta questa riga

3: Ricompilare nuovamente l’app eseguire: ./launcher rebuild app

ma ho ancora lo stesso errore che dice che devo aggiornare Ruby alla versione 3.0.0

Questo è quello che farei, supponendo che tu abbia accesso al pannello di controllo del cloud provider. Se non ce l’hai, ti suggerirei di richiederlo.

  • usa il metodo consigliato da @pfaffman Move a Discourse site to another VPS with rsync ma su un server diverso e temporaneo, con un nome host temporaneo. Sì, avrai il problema del nome host ma potrai testare se tutto è a posto
  • fai uno snapshot per sicurezza e poi reinstalla il tuo server attuale da zero su Ubuntu 24.04 LTS. La maggior parte dei cloud provider ti permetterà di farlo mantenendo il tuo indirizzo IP
  • usa di nuovo il metodo consigliato per sincronizzare dal server temporaneo al server appena installato con l’indirizzo IP esistente
  • quando tutto funziona rimuovi lo snapshot e il server temporaneo

Fare una nuova installazione è un’ottima idea, ma vorrei sapere se è possibile aggiornare la versione di Ruby e come farlo, perché sembra essere l’unica cosa che blocca il launcher