Più di un sito come contenitore diverso in esecuzione sullo stesso server Do

Ho installato con successo il sito 1 e lo ho eseguito per oltre un mese. Oggi ho seguito le istruzioni qui: https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247. Ho modificato la configurazione del primo Discourse, installato un nginx esterno sulla macchina host e ricostruito il primo Discourse.

Config app.yml del sito n. 1

root@docker-s-1vcpu-2gb-sgp1-01:~# cat /var/bbs-antivte-discourse/containers/app.yml
## questo è il template del container Docker Discourse all-in-one, standalone
##
## Dopo aver apportato modifiche a questo file, DOVETE ricostruire
## /var/discourse/launcher rebuild app
##
## SIATE *MOLTO* CAUTI DURANTE LA MODIFICA!
## I FILE YAML SONO SUPER SUPER SENSIBILI A ERRORI NELLO SPAZIAMENTO O NELL'ALLINEAMENTO!
## visitate http://www.yamllint.com/ per validare questo file quando necessario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Scommentate queste due righe se desiderate aggiungere Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/web.socketed.template.yml"  # <-- Aggiunto
## quali porte TCP/IP dovrebbe esporre questo container?
## Se desiderate che Discourse condivida una porta con un altro server web come Apache o nginx,
## consultate https://meta.discourse.org/t/17247 per i dettagli
#expose:
#  - "80:80"   # http
#  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Impostate db_shared_buffers al massimo al 25% della memoria totale.
  ## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure potete sovrascriverlo
  db_shared_buffers: "256MB"

  ## può migliorare le prestazioni di ordinamento, ma aumenta l'uso di memoria per connessione
  #db_work_mem: "40MB"

  ## Quale revisione Git dovrebbe utilizzare questo container? (predefinito: tests-passed)
  #version: tests-passed

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

  ## Quanti richieste web concorrenti sono supportati? Dipende dalla memoria e dai core della CPU.
  ## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure potete sovrascriverlo
  UNICORN_WORKERS: 4

  ## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
  ## Obbligatorio. Discourse non funzionerà con un semplice numero IP.
  DISCOURSE_HOSTNAME: bbs.antivte.com

  ## Scommentate se desiderate che il container venga avviato con lo stesso
  ## hostname (opzione -h) specificato sopra (predefinito "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Elenco di email separate da virgola che diventeranno amministratori e sviluppatori
  ## all'iscrizione iniziale, esempio 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'techempower@163.com'

  ## TODO: Il server SMTP utilizzato per validare nuovi account e inviare notifiche
  ## INDIRIZZO SMTP, nome utente e password sono obbligatori
  ## ATTENZIONE: il carattere '#' nella password SMTP può causare problemi!
  DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@mail.antivte.com
  DISCOURSE_SMTP_PASSWORD: "67c9458eb7a6ff11b4db70f097b1b5c3-f7910792"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opzionale, predefinito true)

  ## Se avete aggiunto il template Lets Encrypt, scommentate qui sotto per ottenere un certificato SSL gratuito
  LETSENCRYPT_ACCOUNT_EMAIL: techempower@163.com

  ## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il pull)
  ## consultate https://meta.discourse.org/t/14857 per i dettagli
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

## Il container Docker è senza stato; tutti i dati sono archiviati in /shared
volumes:
  - volume:
      host: /var/bbs-antivte-discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/bbs-antivte-discourse/shared/standalone/log/var-log
      guest: /var/log

## I plugin vanno qui
## consultate https://meta.discourse.org/t/19157 per i dettagli
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-knowledge-explorer
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/procourse/procourse-static-pages
## Qualsiasi comando personalizzato da eseguire dopo la costruzione
run:
  - exec: echo "Inizio dei comandi personalizzati"
  ## Se desiderate impostare l'indirizzo email 'From' per la vostra prima registrazione, scommentate e modificate:
  ## Dopo aver ricevuto la prima email di iscrizione, riscommentate la riga. Deve essere eseguita solo una volta.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fine dei comandi personalizzati"

Poi, per l’installazione del secondo sito, ho clonato il codice sorgente in un’altra directory, copiato il primo app.yml modificato e modificato solo il dominio e il nome della directory di clonazione per il mio secondo sito, quindi eseguito https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md

./discourse-setup

Sono rimasto confuso dai seguenti suggerimenti e ho due configurazioni nginx diverse per i due siti

Config nginx del sito n. 1

root@docker-s-1vcpu-2gb-sgp1-01:~# cat /var/website/conf/conf.d/ytb.antivte.com 


server {
    listen 80; listen [::]:80;
    server_name ytb.antivte.com;  # <-- modificate questo

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;  listen [::]:443 ssl http2;
    server_name ytb.antivte.com;  # <-- modificate questo

#    ssl on;
    ssl_certificate      /var/ytb-antivte-discourse/shared/standalone/ssl/ssl.crt;
    ssl_certificate_key  /var/ytb-antivte-discourse/shared/standalone/ssl/ssl.key;
    ssl_dhparam          /var/ytb-antivte-discourse/shared/standalone/ssl/dhparams.pem;
    ssl_session_tickets off;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

    http2_idle_timeout 5m; # aumentato da 3m predefinito

    location / {
        proxy_pass http://unix:/var/ytb-antivte-discourse/shared/standalone/nginx.http.sock:;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Config nginx del sito n. 2

server {
    listen 80; listen [::]:80;
    server_name bbs.antivte.com;  # <-- modificate questo

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;  listen [::]:443 ssl http2;
    server_name bbs.antivte.com;  # <-- modificate questo

#    ssl on;
    ssl_certificate      /var/bbs-antivte-discourse/shared/standalone/ssl/bbs.antivte.com.cer;
    ssl_certificate_key  /var/bbs-antivte-discourse/shared/standalone/ssl/bbs.antivte.com.key;
    ssl_dhparam          /var/bbs-antivte-discourse/shared/standalone/ssl/dhparams.pem;
    ssl_session_tickets off;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

    http2_idle_timeout 5m; # aumentato da 3m predefinito

    location / {
        proxy_pass http://unix:/var/bbs-antivte-discourse/shared/standalone/nginx.http.sock:;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

e

    /var/ytb-antivte-discourse/discourse-setup 
La porta 80 sembra essere già in uso.

Questo vi mostrerà quale comando sta utilizzando la porta 80
COMMAND  PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nginx   4255   root    6u  IPv4 22842780      0t0  TCP *:http (LISTEN)
nginx   4255   root    7u  IPv6 22842781      0t0  TCP *:http (LISTEN)
nginx   4256 nobody    6u  IPv4 22842780      0t0  TCP *:http (LISTEN)
nginx   4256 nobody    7u  IPv6 22842781      0t0  TCP *:http (LISTEN)

Se state cercando di eseguire Discourse contemporaneamente a un altro
server web come Apache o nginx, dovrete associarlo a una porta diversa

Consultate https://meta.discourse.org/t/17247

Se state riconfigurando un Discourse già configurato, usate

./launcher stop app

per fermare Discourse prima di riconfigurarlo e riprovare.

Perché hai questa riga due volte?

Quello che dovresti fare è rinominare app.yml nella directory dei container.

Devi anche modificare le tue credenziali Mailgun, se quella è la tua password reale.

Non potrai eseguire discourse-setup se hai un server web in esecuzione. Dovresti semplicemente modificare i file tu stesso con nano o uno strumento simile. È progettato per supportare solo le situazioni più standard.

Non potrai eseguire discourse-setup se hai un server web in esecuzione. Dovresti semplicemente modificare i file tu stesso con nano o simili. È progettato per supportare solo le situazioni più standard.

Ho il mio nginx in esecuzione, se è questo che intendi.
Modificare quale file? Non capisco cosa dici.