¿Intentando instalar Discourse en Docker antes de poner el servidor, solo probando el software?

¡Me encanta lo rápido que funciona esto! Realmente me estoy metiendo en Discourse.

¡Gracias de nuevo! @merefield.

Edición: Se encontraron instrucciones paso a paso para la imagen de Docker:

https://hub.docker.com/r/bitnami/discourse

La forma recomendada de obtener la imagen Docker de Bitnami Discourse es descargar la imagen precompilada del Registro de Docker Hub.

docker pull bitnami/discourse:latest

Para usar una versión específica, puedes descargar una etiqueta versionada. Puedes ver la lista de versiones disponibles en el Registro de Docker Hub.

docker pull bitnami/discourse:[TAG]

Si lo deseas, también puedes compilar la imagen tú mismo clonando el repositorio, yendo al directorio que contiene el Dockerfile y ejecutando el comando docker build. Recuerda reemplazar los marcadores de posición de ruta APP, VERSION y OPERATING-SYSTEM en el siguiente comando de ejemplo con los valores correctos.

git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP:latest .

Cómo usar esta imagen

Discourse requiere acceso a una base de datos PostgreSQL para almacenar información. Usaremos la Imagen Docker de Bitnami para PostgreSQL⁠ para los requisitos de la base de datos.

Usando la línea de comandos de Docker

Paso 1: Crear una red

docker network create discourse-network

Paso 2: Crear un volumen para la persistencia de PostgreSQL y crear un contenedor de PostgreSQL

$ docker volume create --name postgresql_data
docker run -d --name postgresql \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env POSTGRESQL_USERNAME=bn_discourse \
  --env POSTGRESQL_PASSWORD=bitnami123 \
  --env POSTGRESQL_DATABASE=bitnami_discourse \
  --network discourse-network \
  --volume postgresql_data:/bitnami/postgresql \
  bitnami/postgresql:latest

Paso 3: Crear un volumen para la persistencia de Redis y crear un contenedor de Redis

$ docker volume create --name redis_data
docker run -d --name redis \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --network discourse-network \
  --volume redis_data:/bitnami/redis \
  bitnami/redis:latest

Paso 4: Crear volúmenes para la persistencia de Discourse y lanzar el contenedor

$ docker volume create --name discourse_data
docker run -d --name discourse \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env DISCOURSE_DATABASE_USER=bn_discourse \
  --env DISCOURSE_DATABASE_PASSWORD=bitnami123 \
  --env DISCOURSE_DATABASE_NAME=bitnami_discourse \
  --env DISCOURSE_HOST=www.example.com \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest

Paso 5: Lanzar el contenedor Sidekiq

docker run -d --name sidekiq \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest /opt/bitnami/scripts/discourse-sidekiq/run.sh

Accede a tu aplicación en http://your-ip/

Ejecutar la aplicación usando Docker Compose
curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml
docker-compose up -d

Ten en cuenta que este archivo no ha sido sometido a pruebas internas. Por lo tanto, recomendamos su uso exclusivamente para fines de desarrollo o pruebas. Para implementaciones listas para producción, recomendamos encarecidamente utilizar su chart de Helm de Bitnami⁠ asociado.

Si detectas algún problema en el archivo docker-compose.yaml, no dudes en informarlo o contribuir con una solución siguiendo nuestras Directrices de Contribución⁠.

Solución de problemas de Discourse

Si necesitas ejecutar comandos administrativos de Discourse como Crear cuenta de administrador desde la consola⁠, puedes hacerlo ejecutando un shell dentro del contenedor y ejecutando con las variables de entorno adecuadas.

cd /opt/bitnami/discourse
RAILS_ENV=production bundle exec rake admin:create
2 Me gusta