Discourse

Discourse - Modern discussion platform

8080
Default Port
3
Services
26.0/20
Complexity
Medium
Memory Usage
Configuration

Installation Command

blastdock init discourse

Template Overview

Everything you need to deploy Discourse with BlastDock

Quick Deploy

One command deployment

Secure

Production-ready security

Configurable

Customizable settings

Scalable

Ready to scale up

What's Included

Discourse
bitnami/discourse:latest
Postgres
postgres:13
Redis
redis:6
Categories
Database
Security Features
Password Protection
Resource Requirements
CPU: Medium, Memory: Medium , Storage Required

Quick Commands

blastdock init Initialize new project
blastdock deploy Deploy the application
blastdock status Check deployment status
blastdock logs View application logs

Quick Installation

Get Discourse up and running in minutes with our one-click installation.

BlastDock Installation

First, install BlastDock using pip (recommended):

Terminal
pip install blastdock

Then deploy Discourse with:

Terminal
blastdock init discourse

Interactive mode:

Terminal
blastdock init discourse -i

What's Included

Discourse
Container service
Postgres
Container service
Redis
Container service

BlastDock Commands

blastdock templates List available templates
blastdock status project Check deployment status
blastdock logs project View application logs
blastdock stop project Stop deployment

Configuration Options

Customize your Discourse installation with these configuration options.

7
Required Fields
0
Optional Fields
2
Auto-Generated Passwords

Port

Web interface port

port
Default: 8080
Required: Yes

Db Password

Database password

password
Default: ••••••••••••
Required: Yes
Security: Auto-generated

Developer Emails

Developer emails (comma separated)

string
Required: Yes

Smtp Address

SMTP address

string
Default: smtp.example.com
Required: Yes

Smtp Port

SMTP port

port
Default: 587
Required: Yes

Smtp Username

SMTP username

string
Required: Yes

Smtp Password

SMTP password

password
Default: ••••••••••••
Required: Yes
Security: Auto-generated

Docker Compose

Complete Docker Compose configuration for Discourse deployment.

3
Services
2
Volumes
1
Networks
2
Exposed Ports
docker-compose.yml
version: '3.8'

services:
  postgres:
    image: postgres:13
    container_name: {{ project_name }}_postgres
    restart: unless-stopped
    environment:
      0: POSTGRES_PASSWORD={{ db_password }}
      1: POSTGRES_USER=discourse
      2: POSTGRES_DB=discourse
    volumes:
      - /var/lib/postgresql/data
    networks:
      - discourse_network

  redis:
    image: redis:6
    container_name: {{ project_name }}_redis
    restart: unless-stopped
    networks:
      - discourse_network

  discourse:
    image: bitnami/discourse:latest
    container_name: {{ project_name }}_discourse
    restart: unless-stopped
    depends_on:
      - postgres
      - redis
    ports:
      - "3000"
    environment:
      0: POSTGRESQL_HOST=postgres
      1: POSTGRESQL_PORT_NUMBER=5432
      2: POSTGRESQL_USERNAME=discourse
      3: POSTGRESQL_PASSWORD={{ db_password }}
      4: POSTGRESQL_DATABASE=discourse
      5: REDIS_HOST=redis
      6: REDIS_PORT_NUMBER=6379
      7: DISCOURSE_HOST=localhost
      8: DISCOURSE_PORT_NUMBER={{ port }}
      9: DISCOURSE_EXTERNAL_HTTP_PORT_NUMBER={{ port }}
      10: DISCOURSE_EXTERNAL_HTTPS_PORT_NUMBER=443
      11: DISCOURSE_DEVELOPER_EMAILS={{ developer_emails }}
      12: DISCOURSE_SMTP_HOST={{ smtp_address }}
      13: DISCOURSE_SMTP_PORT={{ smtp_port }}
      14: DISCOURSE_SMTP_USER={{ smtp_username }}
      15: DISCOURSE_SMTP_PASSWORD={{ smtp_password }}
      16: DISCOURSE_SMTP_PROTOCOL=tls
    volumes:
      - /bitnami/discourse
    networks:
      - discourse_network

volumes:
  postgres_data:
    driver: local

  discourse_data:
    driver: local

networks:
  discourse_network:
    driver: bridge