L'immagine Docker discourse/discourse è considerata sicura e pronta per la produzione?

Ciao team Discourse,

Stiamo attualmente valutando l’immagine Docker disponibile qui: https://hub.docker.com/r/discourse/discourse

Questa immagine è stata pubblicata molto di recente (meno di 24 ore fa al momento della scrittura) e non sono riuscito a trovare riferimenti ad essa nella documentazione ufficiale.

La mia domanda è:

  • Questa immagine Docker è ufficialmente mantenuta e supportata dal team Discourse per l’uso in produzione?
  • O è un’immagine sperimentale che potrebbe essere rimossa o modificata inaspettatamente?

Vogliamo confermare se è sicuro fare affidamento su questa immagine nei nostri ambienti di produzione.

Grazie

2 Mi Piace

Credo che l’immagine Docker sia https://hub.docker.com/r/discourse/base. (5M+ download vs 800+) Vedi:

Il repository Docker conterrà sempre la versione più recente creata su: https://hub.docker.com/r/discourse/base/, non dovresti aver bisogno di creare l’immagine di base.

2 Mi Piace

Grazie per la tua risposta, lo so. Ma non sono riuscito a far funzionare facilmente quell’immagine discourse/base con Docker Compose. Questa nuova immagine discourse/discourse rende la configurazione molto più semplice e funziona bene, ma voglio capire il suo scopo e se posso usarla in produzione.

1 Mi Piace

Dai un’occhiata a:

1 Mi Piace

discourse/discourse è nuovo, ma ancora sperimentale, quindi non ne consiglio l’uso in produzione. Pubblicheremo sicuramente ulteriori informazioni se/quando ciò cambierà.

Al momento, l’unico metodo che possiamo supportare è l’installazione standard.

11 Mi Piace

Come descritto, il modo supportato per l’auto-hosting è seguire l’installazione standard. Se non vuoi farlo, sei un po’ da solo. Se vuoi lanciare con docker-compose, quello che consiglio è di usare il launcher per creare la tua immagine, caricarla in un tuo repository e poi usare ./launcher start-cmd web_only per ottenere le variabili d’ambiente necessarie e altro per avviarla. E avrai comunque bisogno di fare qualcosa per assicurarti che il database sia migrato, le risorse precompilate, ecc.

Puoi anche escogitare per far sì che GitHub crei immagini per te e le faccia migrare, ecc. al momento dell’avvio (come sembra che un giorno sarà fornito da CDCK). L’ho fatto per i clienti in passato. (Felice di aiutare se hai un budget.)

Se ti piace vivere sul filo del rasoio, probabilmente sei abbastanza al sicuro usando la versione “sperimentale” con l’avvertenza che dovrai avere un sito di staging dove testare ogni nuova distribuzione prima di inviarla in produzione ed essere preparato ad aspettare un po’ e/o fare qualcosa che richiede una profonda conoscenza di discourse per andare avanti. Il peggior caso (probabilmente) è che dovrai essere preparato a fare un backup e ripristinare un’installazione standard finché la cosa sperimentale non sarà pronta per il prime time.

1 Mi Piace

Avete una data di rilascio o una tempistica stimata per quando discourse/discourse potrebbe essere considerato stabile/pronto per la produzione?

Inoltre, vorrei confermare: l’immagine Docker discourse/discourse è open source e, in tal caso, potreste fornire il link al repository GitHub?

3 Mi Piace

Al momento non ho tempistiche/garanzie. Ma speriamo di avere maggiori informazioni da condividere nelle prossime settimane.

Sì, è tutto open source. Viene costruito e pubblicato regolarmente da questo flusso di azioni GitHub: discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

7 Mi Piace

Grazie per le informazioni e per aver condiviso il link di GitHub, molto apprezzato!

3 Mi Piace

Sì, sta diventando un segreto di Pulcinella cosa bolle in pentola :slight_smile:
Puoi ottenere un’anteprima tecnica di ciò che sta arrivando, ma come ha detto David non possiamo ancora supportarlo ufficialmente. Ci sono tonnellate di documentazione da pianificare, casi limite da testare, ecc… quindi non possiamo consigliarlo per la produzione finché non avremo smussato quelle cose.

8 Mi Piace

@david / @featheredtoast, voi e il resto del team avete fatto un ottimo lavoro qui.

Sono appena passato da bitnami/discourse a discourse/discourse per i test automatici e funziona benissimo. Ovviamente il mio caso d’uso è perfetto: avviare un nuovo forum, eseguire i test, eliminare.

Quindi, volevo solo ringraziarvi molto. Sono sicuro che molti altri ne beneficeranno, specialmente una volta che diventerà stabile / ufficiale / supportato.

6 Mi Piace

Situazione simile, stavo cercando un modo rapido per avviare Discourse in una configurazione Docker Compose per facilitare agli sviluppatori la creazione di un’integrazione SSO. Questo sembra funzionare alla grande (configurazione di seguito per chi fosse interessato):

docker-compose.yml
volumes:
  redis_data: {}
  discourse_data: {}
  discourse_postgres: {}
  discourse_postgres_data: {}

services:
  mailpit:
    image: docker.io/axllent/mailpit:latest
    container_name: mailpit
    ports:
      - '8025:8025'

  redis:
    image: redis:7-alpine
    container_name: redis
    volumes:
      - redis_data:/data
    ports:
      - '6379:6379'
    command: redis-server --appendonly yes

  discourse_db:
    image: discourse/postgres
    container_name: discourse_db
    volumes:
      - discourse_postgres:/var/lib/postgresql
      - discourse_postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB: discourse
      - POSTGRES_USER: admin
      - POSTGRES_PASSWORD: admin_password
      - DB_USER: discourse_user
      - DB_PASSWORD: discourse_user_password

  discourse:
    image: discourse/discourse:3.5.1
    container_name: discourse
    depends_on:
      - discourse_db
      - redis
      - mailpit
    ports:
      - '80:80'
    volumes:
      - discourse_data:/shared
    environment:
      - DISCOURSE_HOSTNAME: localhost
      - DISCOURSE_DEVELOPER_EMAILS: admin@example.com
      - DISCOURSE_DB_HOST: discourse_db
      - DISCOURSE_DB_PORT: 5432
      - DISCOURSE_DB_NAME: discourse
      - DISCOURSE_DB_USERNAME: discourse_user
      - DISCOURSE_DB_PASSWORD: discourse_user_password
      - DISCOURSE_REDIS_HOST: redis
      - DISCOURSE_REDIS_PORT: 6379
      - DISCOURSE_SMTP_ADDRESS: mailpit
      - DISCOURSE_SMTP_PORT: 1025
      - DISCOURSE_SMTP_ENABLE_START_TLS: false
      - DISCOURSE_SMTP_AUTHENTICATION: none
      - LANG: en_US.UTF-8

Attendo con ansia di conoscere i piani o le tempistiche future, mi piacerebbe poter eseguire questo in qualcosa come Digital Ocean App Platform (qualcosa che i clienti potrebbero gestire con meno conoscenze tecniche).

3 Mi Piace

Grazie per aver condiviso, @JackNZ. Non avevo nemmeno notato l’immagine discourse/postgres :sweat_smile: Dovrò sistemare quello. Ciononostante, condividerò anche dove sono arrivato. Forse più interessante è lo script start.sh qui che, sebbene necessiti di un po’ di pulizia, creerà un utente amministratore, una chiave API e disabiliterà i limitatori di frequenza.

2 Mi Piace