¿La imagen de Docker discourse/discourse se considera segura y lista para producción?

Hola equipo de Discourse:

Actualmente estamos evaluando la imagen de Docker disponible aquí: https://hub.docker.com/r/discourse/discourse

Esta imagen se publicó muy recientemente (hace menos de 24 horas en el momento de escribir esto) y no pude encontrar referencias a ella en la documentación oficial.

Mi pregunta es:

  • ¿Esta imagen de Docker es mantenida y soportada oficialmente por el equipo de Discourse para uso en producción?
  • ¿O es una imagen experimental que podría ser eliminada o cambiada inesperadamente?

Queremos confirmar si es seguro confiar en esta imagen en nuestros entornos de producción.

Gracias.

2 Me gusta

Creo que la imagen de Docker es https://hub.docker.com/r/discourse/base/. (5M+ descargas frente a 800+) Ver:

El repositorio de Docker siempre contendrá la última versión compilada en: https://hub.docker.com/r/discourse/base/, no necesitarás compilar la imagen base.

2 Me gusta

Gracias por tu respuesta, lo sé. Pero no pude hacer que esa imagen discourse/base se ejecutara fácilmente con Docker Compose. Esta nueva imagen discourse/discourse hace que la configuración sea mucho más simple y funciona bien, pero quiero entender su propósito y si puedo usarla en producción.

1 me gusta

Echa un vistazo a:

1 me gusta

discourse/discourse es nuevo, pero todavía experimental, así que no recomendaría usarlo en producción. Ciertamente publicaremos más información si eso cambia.

Por ahora, el único método que podemos soportar es la instalación estándar.

11 Me gusta

Como se describe, la forma admitida de autoalojamiento es seguir la instalación estándar. Si no quieres hacer eso, entonces estás un poco por tu cuenta. Si quieres lanzar con docker-compose, lo que recomiendo es usar el lanzador para construir tu imagen, enviarla a un repositorio propio y luego usar ./launcher start-cmd web_only para obtener las variables de entorno necesarias y demás para lanzarla. Y aún necesitarás hacer algo para ver que la base de datos se migra, los activos se compilan previamente, etc.

También puedes ingeniártelas para que github construya imágenes para ti y que migren, etc., cuando se lancen (como parece que proporcionará CDCK algún día). He hecho esto para clientes en el pasado. (Feliz de ayudar si tienes presupuesto).

Si te gusta vivir al límite, probablemente estés bastante seguro usando la versión “experimental” con la advertencia de que necesitarás tener un sitio de staging donde pruebes cada nuevo despliegue antes de enviarlo a producción y estar preparado para esperar un tiempo y/o hacer algo que requiera un conocimiento profundo de discourse para avanzar. Un peor escenario (probablemente) es que necesites estar preparado para hacer una copia de seguridad y restaurar a una instalación estándar hasta que la cosa experimental esté lista para el horario de máxima audiencia.

1 me gusta

¿Tienen una fecha de lanzamiento estimada o un cronograma para cuándo discourse/discourse podría considerarse estable/listo para producción?

Además, me gustaría confirmar: ¿Es la imagen Docker discourse/discourse de código abierto y, en caso afirmativo, podrían proporcionar el enlace al repositorio de GitHub?

3 Me gusta

Actualmente no tengo ningún cronograma/garantía. Pero espero que tengamos más información para compartir en las próximas semanas.

Sí, todo es de código abierto. Se compila y publica regularmente mediante este flujo de trabajo de GitHub Actions: discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

7 Me gusta

¡Gracias por la información y por compartir el enlace de GitHub, muy apreciado!

3 Me gusta

Sí, se está convirtiendo en un secreto a voces de lo que se está cociendo :slight_smile:

Puedes obtener una vista previa técnica de lo que está por venir, pero como dijo David, aún no podemos admitirlo oficialmente. Hay toneladas de documentación que planificar, casos extremos que probar, etc… así que no podemos recomendarlo para producción hasta que resolvamos esas cosas.

8 Me gusta

@david / @featheredtoast, ustedes y el resto del equipo han hecho un gran trabajo aquí.

Acabo de cambiar de bitnami/discourse a discourse/discourse para las pruebas automatizadas y está funcionando muy bien. Obviamente, mi caso de uso es perfecto: iniciar un nuevo foro, ejecutar pruebas, eliminar.

Así que, solo quería darles un gran agradecimiento. Estoy seguro de que muchos otros se beneficiarán de esto también, especialmente una vez que se vuelva estable / oficial / compatible.

6 Me gusta

Situación similar, estaba buscando una forma rápida de poner en marcha Discourse en una configuración de Docker Compose para facilitar a los desarrolladores la creación de una integración SSO. Esto parece funcionar de maravilla (configuración a continuación para aquellos que estén interesados):

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

Espero tener noticias sobre futuros planes o plazos, me encantaría poder ejecutar esto en algo como Digital Ocean App Platform (algo que los clientes podrían gestionar con menos conocimientos técnicos).

3 Me gusta

Gracias por compartir, @JackNZ. Ni siquiera noté la imagen discourse/postgres :sweat_smile: Tendré que arreglar eso. Sin embargo, también compartiré dónde estoy. Quizás lo más interesante sea el script start.sh aquí que, aunque necesita algo de limpieza, creará un usuario administrador, una clave API y deshabilitará los limitadores de velocidad.

2 Me gusta