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).