Centminmod + discourse

Ciao.
Mi piacerebbe provare la piattaforma discourse sul mio stack LEMP centminmod (https://centminmod.com/)

Sono riuscito a installare Docker

docker -v
Docker version 20.10.17, build 100c701

Ho seguito la guida per l’installazione (discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub) con alcune piccole modifiche: non ho un server cloud in senso stretto. È la mia istanza gestita.

Ho anche dovuto modificare manualmente il mio /containers/app.yml.

Una volta fatto questo, non ricevo errori durante la ricostruzione dell’app tramite ./launcher rebuild app

Tuttavia, non riesco a connettermi all’istanza docker. Accede alla pagina di destinazione del mio virtual host.

Cosa devo fare per poter fare il reverse proxy della configurazione nginx al docker? O qualcuno ha scritto una guida per installare discourse su centmindmod?

Grazie!

Andy

Immagino che questo sia il più vicino a quello che stai cercando Run other websites on the same machine as Discourse .

1 Mi Piace

Ho ottenuto un’installazione di Discourse funzionante.

Installa Docker - non trattato qui
Installa Discourse -

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

Configura app.yaml in /var/discource/containers

modifica app.yml per rimuovere le porte 80+443

## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI *MOLTA* ATTENZIONE QUANDO MODIFICHI!
## I FILE YAML SONO ESTREMAMENTE SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!
## visita http://www.yamllint.com/ per convalidare questo file secondo necessità

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.socketed.template.yml"
  #- "templates/web.ratelimited.template.yml"

## quali porte TCP/IP deve esporre questo container?
## Se desideri che Discourse condivida una porta con un altro webserver come Apache o nginx,
## vedi https://meta.discourse.org/t/17247 per i dettagli
expose:

  #- "25654:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Imposta db_shared_buffers a un massimo del 25% della memoria totale.
  ## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure puoi sovrascriverlo
  db_shared_buffers: "128MB"
 
  ## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della 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

  ## Quante richieste web concorrenti sono supportate? Dipende da memoria e core CPU.
  ## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure puoi sovrascriverlo
  UNICORN_WORKERS: 2

  ## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
  ## Consideralo come ciò che si trasforma in server_name in una configurazione Nginx
  DISCOURSE_HOSTNAME: 'your.site.com'
 
  ## Decommenta se desideri che il container venga avviato con lo stesso
  ## hostname (-h opzione) specificato sopra (predefinito "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Elenco di email separate da virgole che saranno rese amministratori e sviluppatori
  ## alla prima registrazione, ad esempio 'user1@example.com,user2@example.com'
  ## Questa email è quella che userai per accedere all'istanza di Discourse la prima volta.
  DISCOURSE_DEVELOPER_EMAILS: 'email@your.com'

  ## TODO: Il server di posta SMTP utilizzato per convalidare nuovi account e inviare notifiche
  DISCOURSE_SMTP_ADDRESS: smtp.your.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@your.com
  DISCOURSE_SMTP_PASSWORD: addpasswordhere  # ATTENZIONE un carattere '#' nella password può causare problemi!
  ## Non ci sarebbero problemi come sopra con la password se questo fosse un oggetto JSON

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

## Il container Docker è stateless; tutti i dati sono memorizzati in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## I plugin vanno qui
## vedi 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

## Qualsiasi comando personalizzato da eseguire dopo la build
run:
  - exec: echo "Inizio comandi personalizzati"
  ## Se desideri impostare l'indirizzo email 'Da' per la tua prima registrazione, decommenta e modifica:
  ## Dopo aver ricevuto la prima email di registrazione, ri-commenta la riga. Deve essere eseguita solo una volta.
  - exec: rails r "SiteSetting.notification_email='noreply@khophi.co'"
  - exec: echo "Fine comandi personalizzati"

Trova /usr/local/nginx/conf/conf.d
modifica la conf pertinente

aggiungi

proxy_pass http://unix:/var/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 $scheme;
                proxy_set_header X-Real-IP $remote_addr;

a location / {

rimuovi include /usr/local/nginx/conf/503include-only.conf; con un #

anche

#include /usr/local/nginx/conf/pre-staticfiles-local-yourdomain.com.conf;
  #include /usr/local/nginx/conf/pre-staticfiles-global.conf;
  #include /usr/local/nginx/conf/staticfiles.conf;
  #include /usr/local/nginx/conf/drop.conf;
  #include /usr/local/nginx/conf/errorpage.conf;
  #include /usr/local/nginx/conf/vts_server.conf;

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.