L'image Docker discourse/discourse est-elle considérée comme sûre et prête pour la production ?

Salut l’équipe Discourse,

Nous évaluons actuellement l’image Docker disponible ici : https://hub.docker.com/r/discourse/discourse

Cette image a été publiée très récemment (il y a moins de 24 heures au moment où j’écris ces lignes), et je n’ai pas trouvé de références à celle-ci dans la documentation officielle.

Mes questions sont les suivantes :

  • Cette image Docker est-elle officiellement maintenue et prise en charge par l’équipe Discourse pour une utilisation en production ?
  • Ou s’agit-il d’une image expérimentale qui pourrait être supprimée ou modifiée de manière inattendue ?

Nous souhaitons confirmer s’il est sûr de nous fier à cette image dans nos environnements de production.

Merci

2 « J'aime »

Je pense que l’image Docker est https://hub.docker.com/r/discourse/base. (5M+ téléchargements contre 800+) Voir :

Le dépôt Docker contiendra toujours la dernière version construite à : https://hub.docker.com/r/discourse/base/, vous n’aurez pas besoin de construire l’image de base.

2 « J'aime »

Merci pour votre réponse, je le sais. Mais je n’ai pas pu faire fonctionner facilement cette image discourse/base avec Docker Compose. Cette nouvelle image discourse/discourse rend la configuration beaucoup plus simple et fonctionne bien, mais je veux comprendre son objectif et si je peux l’utiliser en production.

1 « J'aime »

Lisez ceci :

1 « J'aime »

discourse/discourse est nouveau, mais encore expérimental, donc je ne recommanderais pas de l’utiliser en production. Nous publierons certainement plus d’informations si/quand cela changera.

À l’heure actuelle, la seule méthode que nous pouvons prendre en charge est l’installation standard.

11 « J'aime »

Comme décrit, la manière prise en charge de l’auto-hébergement est de suivre l’installation standard. Si vous ne voulez pas le faire, vous êtes un peu seul. Si vous voulez lancer avec docker-compose, ce que je recommande est d’utiliser le lanceur pour construire votre image, la pousser vers un dépôt qui vous est propre, puis utiliser ./launcher start-cmd web_only pour obtenir les variables d’environnement nécessaires, etc., pour la lancer. Et vous devrez toujours faire quelque chose pour vous assurer que la base de données est migrée, que les assets sont précompilés, et ainsi de suite.

Vous pouvez également faire en sorte que GitHub construise des images pour vous et qu’elles migrent, etc., lors du lancement (comme cela sera un jour fourni par CDCK, semble-t-il). Je l’ai fait pour des clients par le passé. (Heureux d’aider si vous avez un budget.)

Si vous aimez vivre dangereusement, vous êtes probablement assez en sécurité en utilisant la version « expérimentale » avec la mise en garde que vous devrez avoir un site de staging où vous testez chaque nouveau déploiement avant de le pousser en production et être prêt soit à devoir attendre un certain temps et/ou à faire quelque chose qui nécessite une connaissance approfondie de Discourse pour avancer. Le pire des cas (probablement) est que vous devrez être prêt à faire une sauvegarde et à restaurer une installation standard jusqu’à ce que la chose expérimentale soit prête pour l’heure de grande écoute.

1 « J'aime »

Avez-vous une date de sortie estimée ou un calendrier pour quand discourse/discourse pourrait être considéré comme stable/prêt pour la production ?

De plus, j’aimerais confirmer : L’image Docker discourse/discourse est-elle open source, et si oui, pourriez-vous fournir le lien du dépôt GitHub ?

3 « J'aime »

Je n’ai aucun calendrier/aucune garantie pour le moment. Mais j’espère que nous aurons plus d’informations à partager dans les prochaines semaines.

Oui, tout est open source. Il est construit et publié régulièrement par ce workflow GitHub Actions : discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

7 « J'aime »

Merci pour les informations et pour le partage du lien GitHub, j’apprécie beaucoup !

3 « J'aime »

Oui, c’est un secret de polichinelle de ce qui mijote :slight_smile:

Vous pouvez obtenir un aperçu technique de ce qui arrive, mais comme David l’a dit, nous ne pouvons pas encore le prendre en charge officiellement. Il y a des tonnes de documentation à planifier, des cas limites à tester, etc… nous ne pouvons donc pas le recommander pour la production avant d’avoir réglé ces problèmes.

8 « J'aime »

@david / @featheredtoast, vous et le reste de l’équipe avez fait un excellent travail ici.

Je suis passé de bitnami/discourse à discourse/discourse pour les tests automatisés et cela fonctionne très bien. Mon cas d’utilisation est évidemment parfait : démarrer un nouveau forum, exécuter des tests, supprimer.

Je voulais donc vous remercier chaleureusement. Je suis sûr que beaucoup d’autres en bénéficieront également, surtout une fois que ce sera stable / officiel / pris en charge.

6 « J'aime »

Situation similaire, je cherchais un moyen rapide de déployer Discourse dans une configuration Docker Compose pour faciliter aux développeurs la création d’une intégration SSO. Cela semble fonctionner à merveille (configuration ci-dessous pour ceux qui sont intéressés) :

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

J’attends avec impatience d’entendre parler des plans ou des calendriers futurs, j’aimerais pouvoir exécuter cela dans quelque chose comme Digital Ocean App Platform (quelque chose que les clients pourraient gérer avec moins de connaissances techniques).

3 « J'aime »

Merci de partager, @JackNZ. Je n’avais même pas remarqué l’image discourse/postgres :sweat_smile: Je vais devoir corriger ça. Néanmoins, je vais partager où j’en suis aussi. Peut-être plus intéressant est le script start.sh ici qui, bien qu’ayant besoin d’un peu de nettoyage, créera un utilisateur administrateur, une clé API et désactivera les limiteurs de débit.

2 « J'aime »