Favicon of Discourse

Discourse

Launch a scalable community platform to reduce support costs, gather product feedback, and connect teams through organized, searchable conversations.

Build a thriving online space where your users can connect, collaborate, and share knowledge. This customizable platform provides the infrastructure needed to host support hubs, team workspaces, and developer communities. By centralizing discussions, organizations can reduce support costs and build a searchable public knowledge base.

Key benefits include:

  • Customizable branding to match your organization's look and feel.
  • Built-in moderation tools and AI-assisted management to maintain community health.
  • Open-source flexibility allowing you to audit, fork, and extend the codebase.
  • Seamless integrations with GitHub, SSO, and enterprise authentication.
  • Complete data ownership with the ability to export everything at any time.

Whether gathering product feedback with user voting or organizing technical discussions with accepted answers, the platform scales effortlessly from startup to global enterprise.

Directory Structure

discourse
data
discourse
postgresql
redis
.env
docker-compose.yml

docker-compose.yml

services:
  postgresql:
    image: bitnami/postgresql:16
    restart: always
    environment:
      - POSTGRESQL_USERNAME=bn_discourse
      - POSTGRESQL_PASSWORD=${POSTGRESQL_PASSWORD}
      - POSTGRESQL_DATABASE=bitnami_discourse
    volumes:
      - ./data/postgresql:/bitnami/postgresql

  redis:
    image: bitnami/redis:7.2
    restart: always
    environment:
      - REDIS_PASSWORD=${REDIS_PASSWORD}
    volumes:
      - ./data/redis:/bitnami/redis/data

  discourse:
    image: bitnami/discourse:3
    restart: always
    ports:
      - "80:3000"
    environment:
      - DISCOURSE_DATABASE_HOST=postgresql
      - DISCOURSE_DATABASE_PORT_NUMBER=5432
      - DISCOURSE_DATABASE_USER=bn_discourse
      - DISCOURSE_DATABASE_PASSWORD=${POSTGRESQL_PASSWORD}
      - DISCOURSE_DATABASE_NAME=bitnami_discourse
      - DISCOURSE_REDIS_HOST=redis
      - DISCOURSE_REDIS_PORT_NUMBER=6379
      - DISCOURSE_REDIS_PASSWORD=${REDIS_PASSWORD}
      - DISCOURSE_HOST=localhost
      - DISCOURSE_USERNAME=admin
      - DISCOURSE_PASSWORD=${DISCOURSE_ADMIN_PASSWORD}
      - DISCOURSE_EMAIL=admin@example.com
    volumes:
      - ./data/discourse:/bitnami/discourse
    depends_on:
      - postgresql
      - redis

  sidekiq:
    image: bitnami/discourse:3
    restart: always
    command: /opt/bitnami/scripts/discourse/sidekiq.sh
    environment:
      - DISCOURSE_DATABASE_HOST=postgresql
      - DISCOURSE_DATABASE_PORT_NUMBER=5432
      - DISCOURSE_DATABASE_USER=bn_discourse
      - DISCOURSE_DATABASE_PASSWORD=${POSTGRESQL_PASSWORD}
      - DISCOURSE_DATABASE_NAME=bitnami_discourse
      - DISCOURSE_REDIS_HOST=redis
      - DISCOURSE_REDIS_PORT_NUMBER=6379
      - DISCOURSE_REDIS_PASSWORD=${REDIS_PASSWORD}
    volumes:
      - ./data/discourse:/bitnami/discourse
    depends_on:
      - discourse

.env

POSTGRESQL_PASSWORD=secure_pg_password
REDIS_PASSWORD=secure_redis_password
DISCOURSE_ADMIN_PASSWORD=secure_admin_password

Share:

Ad
Favicon

 

  
 

Similar to Discourse

Favicon

 

  
  
Favicon

 

  
  
Favicon