Production-ready Discourse forum in one command. All-in-one with PostgreSQL, Redis.
1.5K
Production-ready Discourse image with provenance tracking.
docker run -d \
--name discourse \
-p 3000:3000 \
-e DISCOURSE_HOSTNAME=localhost \
readystack/discourse:v2026.1.0-CE-ubuntu24.04-r1
Wait 2-3 minutes for initialization, then open http://localhost:3000
curl http://localhost:3000/srv/status
# Returns: ok
| Variable | Required | Default | Description |
|---|---|---|---|
DISCOURSE_HOSTNAME | Yes | - | Your domain name |
DISCOURSE_DEVELOPER_EMAILS | No | - | Admin email(s) |
SMTP_ADDRESS | No | - | SMTP server host |
SMTP_PORT | No | 587 | SMTP port |
SMTP_USER_NAME | No | - | SMTP username |
SMTP_PASSWORD | No | - | SMTP password |
# Health check
curl http://localhost:3000/srv/status
# Site info
curl http://localhost:3000/site/basic-info
# List categories
curl http://localhost:3000/categories.json
# Latest topics
curl http://localhost:3000/latest.json
# Topic details
curl http://localhost:3000/t/{id}.json
# User profile
curl http://localhost:3000/u/{username}.json
# Search
curl 'http://localhost:3000/search?q={query}'
Once running, the API base URL is:
http://localhost:3000
All endpoints are relative to this base URL.
| Service | Description |
|---|---|
| PostgreSQL | Primary database |
| Redis | Caching and job queue |
| Puma | Web server (port 3000) |
| Sidekiq | Background job processor |
On first boot, complete the setup wizard at http://localhost:3000
Default admin credentials (after setup):
[email protected]readystack123docker run -d \
--name discourse \
-p 3000:3000 \
-v discourse_data:/data \
-e DISCOURSE_HOSTNAME=localhost \
readystack/discourse:v2026.1.0-CE-ubuntu24.04-r1
See the complete API Integration Guide for:
This image has been validated with 46 automated tests:
See UC_VALIDATION_REPORT.md for details.
discourse userReadyStack Chain ID: 206 | Validated: 2026-03-11
Content type
Image
Digest
sha256:6771b845f…
Size
1.3 GB
Last updated
6 months ago
docker pull readystack/discourse