Ist das Docker-Image discourse/discourse sicher und produktionsreif?

Hallo Discourse-Team,

wir werten derzeit das Docker-Image aus, das hier verfügbar ist: https://hub.docker.com/r/discourse/discourse

Dieses Image wurde erst kürzlich veröffentlicht (zum Zeitpunkt des Schreibens vor weniger als 24 Stunden), und ich konnte keine Verweise darauf in der offiziellen Dokumentation finden.

Meine Frage ist:

  • Wird dieses Docker-Image offiziell vom Discourse-Team für den Produktionseinsatz gepflegt und unterstützt?
  • Oder handelt es sich um ein experimentelles Image, das unerwartet entfernt oder geändert werden könnte?

Wir möchten bestätigen, ob es sicher ist, uns auf dieses Image in unseren Produktionsumgebungen zu verlassen.

Danke

2 „Gefällt mir“

Ich glaube, das Docker-Image ist https://hub.docker.com/r/discourse/base/. (5 Mio.+ Downloads vs. 800+) Siehe:

Das Docker-Repository enthält immer die neueste erstellte Version unter: https://hub.docker.com/r/discourse/base/, Sie müssen das Basis-Image nicht erstellen.

2 „Gefällt mir“

Danke für Ihre Antwort, das weiß ich. Aber ich konnte dieses discourse/base-Image nicht einfach mit Docker Compose zum Laufen bringen. Dieses neue discourse/discourse-Image macht die Einrichtung viel einfacher und funktioniert einfach gut, aber ich möchte seinen Zweck verstehen und ob ich es in der Produktion verwenden kann.

1 „Gefällt mir“

Lesenswert:\n\nCan Discourse ship frequent Docker images that do not need to be bootstrapped?

1 „Gefällt mir“

discourse/discourse ist neu, aber noch experimentell, daher würde ich nicht empfehlen, es in der Produktion zu verwenden. Wir werden sicherlich weitere Informationen veröffentlichen, wenn sich dies ändert.

Derzeit ist die einzige Methode, die wir unterstützen können, die Standardinstallation.

11 „Gefällt mir“

Wie beschrieben, ist der unterstützte Weg für Self-Hosting, der Standardinstallation zu folgen. Wenn Sie das nicht tun möchten, sind Sie sozusagen auf sich allein gestellt. Wenn Sie mit docker-compose starten möchten, empfehle ich, den Launcher zu verwenden, um Ihr Image zu erstellen, es in ein eigenes Repository zu pushen und dann ./launcher start-cmd web_only zu verwenden, um die notwendigen ENV-Variablen usw. für den Start zu erhalten. Und Sie müssen immer noch etwas tun, um sicherzustellen, dass die Datenbank migriert, Assets vorkompiliert usw. sind.

Sie können auch versuchen, GitHub dazu zu bringen, Images für Sie zu erstellen und diese bei Bedarf zu migrieren (wie es anscheinend eines Tages von CDCK bereitgestellt wird). Ich habe dies in der Vergangenheit für Kunden getan. (Gerne helfe ich Ihnen, wenn Sie ein Budget haben.)

Wenn Sie gerne am Limit leben, sind Sie wahrscheinlich ziemlich sicher, wenn Sie die „experimentelle“ Version verwenden, mit der Einschränkung, dass Sie eine Staging-Site benötigen, auf der Sie jedes neue Deployment testen, bevor Sie es in die Produktion bringen, und bereit sein müssen, entweder eine Weile zu warten und/oder etwas zu tun, das tiefgreifende Kenntnisse von Discourse erfordert, um fortzufahren. Im schlimmsten Fall (wahrscheinlich) müssten Sie bereit sein, ein Backup zu erstellen und auf eine Standardinstallation wiederherzustellen, bis das experimentelle Ding bereit für den Prime Time ist.

1 „Gefällt mir“

Gibt es ein geschätztes Veröffentlichungsdatum oder einen Zeitplan, wann discourse/discourse als stabil/produktionsreif angesehen werden könnte?

Zusätzlich möchte ich bestätigen: Ist das discourse/discourse Docker-Image Open Source und wenn ja, könnten Sie den Link zum GitHub-Repository angeben?

3 „Gefällt mir“

Ich habe im Moment keine Zeitpläne/Garantien. Aber hoffentlich haben wir in den nächsten Wochen mehr Informationen, die wir teilen können.

Ja, es ist alles Open Source. Es wird regelmäßig von diesem GitHub Actions Workflow erstellt und veröffentlicht: discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

7 „Gefällt mir“

Danke für die Infos und die Weitergabe des GitHub-Links, sehr geschätzt!

3 „Gefällt mir“

Ja, es wird langsam ein offenes Geheimnis, was im Ofen ist :slight_smile:

Sie können eine technische Vorschau auf das Kommende erhalten, aber wie David sagte, können wir es noch nicht offiziell unterstützen. Es gibt Unmengen an Dokumentation zu planen, Randfälle zu testen usw. … daher können wir es für die Produktion nicht empfehlen, bis wir diese Dinge ausgebügelt haben.

8 „Gefällt mir“

@david / @featheredtoast, Sie und der Rest des Teams haben hier großartige Arbeit geleistet.

Ich bin gerade für automatisierte Tests von bitnami/discourse zu discourse/discourse gewechselt und es funktioniert großartig. Offensichtlich ist mein Anwendungsfall perfekt – ein neues Forum hochfahren, Tests ausführen, löschen.

Ich wollte mich also nur herzlich bedanken. Ich bin sicher, dass viele andere davon profitieren werden, besonders wenn es stabil / offiziell / unterstützt wird.

6 „Gefällt mir“

Ähnliche Situation, ich suchte nach einer schnellen Möglichkeit, Discourse in einem Docker Compose-Setup zu starten, um es Entwicklern zu erleichtern, eine SSO-Integration zu erstellen. Dies scheint hervorragend zu funktionieren (Setup unten für Interessierte):

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

Ich freue mich darauf, von zukünftigen Plänen oder Zeitplänen zu hören, ich würde das gerne in etwas wie der Digital Ocean App Platform (etwas, das Kunden mit weniger technischem Know-how verwalten könnten) ausführen können.

3 „Gefällt mir“

Danke für das Teilen, @JackNZ. Ich habe das discourse/postgres-Image nicht einmal bemerkt :sweat_smile: Ich werde das beheben müssen. Trotzdem werde ich auch teilen, wo ich stehe. Vielleicht interessanter ist das start.sh-Skript hier, das, obwohl es etwas aufgeräumt werden muss, einen Admin-Benutzer, einen API-Schlüssel erstellt und Ratenbegrenzer deaktiviert.

2 „Gefällt mir“