Is Docker image discourse/discourse veilig en klaar voor productie?

Hi Discourse team,

We’re currently evaluating the Docker image available here: https://hub.docker.com/r/discourse/discourse

This image was published very recently (less than 24h ago at the time of writing), and I couldn’t find references to it in the official documentation.

My question is:

  • Is this Docker image officially maintained and supported by the Discourse team for production use?
  • Or is it an experimental image that might be removed or changed unexpectedly?

We want to confirm whether it’s safe to rely on this image in our production environments.

Thanks

2 likes

I believe the Docker image is https://hub.docker.com/r/discourse/base. (5M+ downloads vs 800+) See:

The Docker repository will always contain the latest built version at: https://hub.docker.com/r/discourse/base/, you should not need to build the base image.

2 likes

Bedankt voor je reactie, dat weet ik. Maar ik kon die discourse/base-image niet gemakkelijk draaien met Docker Compose. Deze nieuwe discourse/discourse-image maakt de installatie veel eenvoudiger en werkt prima, maar ik wil het doel ervan begrijpen en of ik het in productie kan gebruiken.

1 like

Take a read of:

1 like

discourse/discourse is nieuw, maar nog experimenteel, dus ik zou het niet aanraden om het in productie te gebruiken. We zullen zeker meer informatie publiceren als/wanneer dat verandert.

Op dit moment is de enige methode die we kunnen ondersteunen de standaardinstallatie.

11 likes

Zoals beschreven, is de ondersteunde manier om zelf te hosten het volgen van de standaardinstallatie. Als u dat niet wilt doen, staat u min of meer op eigen benen. Als u wilt lanceren met docker-compose, raad ik aan om de launcher te gebruiken om uw image te bouwen, deze naar een eigen repository te pushen en vervolgens ./launcher start-cmd web_only te gebruiken om de benodigde ENV-variabelen en dergelijke te verkrijgen om deze te lanceren. En u moet nog steeds iets doen om te zien dat de database wordt gemigreerd, assets worden gecompileerd, enzovoort.

U kunt ook proberen om GitHub uw images te laten bouwen en deze te laten migreren, enzovoort wanneer ze worden gelanceerd (zoals blijkbaar op een dag zal worden geleverd door CDCK). Ik heb dit in het verleden voor klanten gedaan. (Help graag als u een budget heeft.)

Als u graag op het randje leeft, bent u waarschijnlijk vrij veilig met de “experimentele” versie met de kanttekening dat u een staging-site nodig heeft waar u elke nieuwe implementatie test voordat u deze naar productie pusht en bereid bent om ofwel een tijdje te wachten en/of iets te doen dat diepgaande kennis van discourse vereist om verder te gaan. Het ergste geval (waarschijnlijk) is dat u bereid moet zijn om een back-up te maken en te herstellen naar een standaardinstallatie totdat het experimentele ding klaar is voor prime time.

1 like

Do you have an estimated release date or timeline for when discourse/discourse might be considered stable/production-ready?

Additionally, I would like to confirm: Is the discourse/discourse Docker image open source, and if so, could you provide the GitHub repository link?

3 likes

I don’t have any timeline/guarantees right now. But hopefully we’ll have more info to share in the next few weeks.

Yes it’s all open source. It’s built & published regularly by this github actions workflow: discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

7 likes

Bedankt voor de info en voor het delen van de GitHub-link, zeer gewaardeerd!

3 likes

Yeah, it’s becoming an open secret of what’s in the oven :slight_smile:

You can get a technical preview of what’s upcoming, but like David said we can’t support it officially yet. There are tons of docs to plan, edge cases to test, etc… so we can’t recommend it for production until we smooth those things out.

8 likes

@david / @featheredtoast, you guys and the rest of the team have done a great job here.

I just switched to discourse/discourse from bitnami/discourse for automated testing and it’s working great. Obviously my use case is perfect - spin up a new forum, run tests, delete.

So, just wanted to give a big thanks. I’m sure a lot of others will benefit from this too especially once it becomes stable / official / supported.

6 likes

Similar situation, was looking for a quick way to spin up Discourse in a Docker Compose setup to make it easier for developers to build an SSO integration. This appears to work a treat (setup below for those who are interested):

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

Looking forward to hearing about future plans or timelines, would love to be able to run this in something like Digital Ocean App Platform (something that clients could manage with less technical know-how).

3 likes

Ah thanks for sharing, @JackNZ . I didn’t even notice the discourse/postgres image :sweat_smile: I’ll have to fix that. Nevertheless, I’ll share where I’m at too. Maybe more interesting is the start.sh script here that, while in need of some cleanup, will create an admin user, API key, and disable rate limiters.

2 likes