How discourse/discourse_docker works
This repository packages Discourse for Docker deployment and provides the host-side launcher, configuration templates, sample configurations, and an interactive setup wizard. The main operator workflow is to prepare a container configuration, bootstrap and start it with the launcher, and manage its lifecycle; templates and mounted shared storage support customization and persistence. The wizard separately checks the host, gathers site settings, writes configuration, and requests a rebuild. The launcher and most template internals were not sampled, so those relationships rely on README statements rather than source inspection.
Main entry points: wizard.rb Wizard workflow · containers Container definitions · launcher Launcher · prompts.rb Site prompts
Components 20
Container operations
- Launcher
launcher - Docker engine
Deployment configuration
- Container definitions
containers - Sample configs
samples - Pups templates
templates - Persistent volumes
shared
Container images
- Base image
image/base - Setup wizard image
image/setup_wizard
Setup wizard
- Wizard workflow
image/setup_wizard/wizard.rb - CLI options
image/setup_wizard/lib/discourse_setup/cli.rb - System checks
image/setup_wizard/lib/discourse_setup/system_checks.rb - Network checks
image/setup_wizard/lib/discourse_setup/network_checks.rb - Site prompts
image/setup_wizard/lib/discourse_setup/prompts.rb - Resource scaling
image/setup_wizard/lib/discourse_setup/resource_scaler.rb - Config generator
image/setup_wizard/lib/discourse_setup/config_generator.rb - Rebuild signaling
image/setup_wizard/lib/discourse_setup/launcher.rb - Terminal UI
image/setup_wizard/lib/discourse_setup/ui.rb - TUI components
image/setup_wizard/lib/discourse_setup/tui_components.rb - Wizard constants
image/setup_wizard/lib/discourse_setup/constants.rb
Other components
- Site operator
Connections 20
- Site operator → Launcher: runs commands
README.md - Launcher → Container definitions: manages config
README.md - Launcher → Docker engine: manages containers
README.md - Site operator → Sample configs: copies examples
README.md - Sample configs → Container definitions: bootstrap configs
README.md - Container definitions → Pups templates: composes templates
README.md - Container definitions → Persistent volumes: mounts volumes
README.md - Base image → Docker engine: runs as image
- Wizard workflow → CLI options: reads options
image/setup_wizard/wizard.rb - Wizard workflow → System checks: checks host
image/setup_wizard/wizard.rb - Wizard workflow → Config generator: prepares config
image/setup_wizard/wizard.rb - Wizard workflow → Site prompts: collects settings
image/setup_wizard/wizard.rb - Wizard workflow → Resource scaling: sets resources
image/setup_wizard/wizard.rb - Wizard workflow → Network checks: validates domain
image/setup_wizard/wizard.rb - Wizard workflow → Rebuild signaling: requests rebuild
image/setup_wizard/wizard.rb - Wizard workflow → Terminal UI: reports progress
image/setup_wizard/wizard.rb - Site prompts → Config generator: reads existing values
image/setup_wizard/lib/discourse_setup/prompts.rb - Site prompts → Wizard constants: uses settings constants
image/setup_wizard/lib/discourse_setup/prompts.rb - Terminal UI → TUI components: renders interactions
image/setup_wizard/lib/discourse_setup/ui.rb - Config generator → Sample configs: loads standalone template
image/setup_wizard/lib/discourse_setup/config_generator.rb