Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 27 additions & 53 deletions blueprints/discourse/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,24 @@
version: '3.7'

services:
discourse-db:
image: docker.io/bitnami/postgresql:17

image: pgvector/pgvector:pg16
volumes:
- discourse-postgresql-data:/bitnami/postgresql
- discourse-postgresql-data:/var/lib/postgresql/data
environment:
POSTGRESQL_USERNAME: bn_discourse
POSTGRESQL_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRESQL_DATABASE: bitnami_discourse
POSTGRES_USER: discourse
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: discourse
healthcheck:
test: ["CMD-SHELL", "pg_isready -U bn_discourse -d bitnami_discourse"]
test: ["CMD-SHELL", "pg_isready -U discourse -d discourse"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped

discourse-redis:
image: docker.io/bitnami/redis:7.4

image: redis:7-alpine
volumes:
- discourse-redis-data:/bitnami/redis
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD}
- discourse-redis-data:/data
command: redis-server --requirepass ${REDIS_PASSWORD}
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
interval: 10s
Expand All @@ -32,59 +27,38 @@ services:
restart: unless-stopped

discourse-app:
image: docker.io/bitnamilegacy/discourse:3.5.0

image: discourse/discourse:2026.1.4
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep template metadata version aligned with image tag

Updating the Discourse image to discourse/discourse:2026.1.4 without a corresponding meta.json version update leaves the template catalog inconsistent (meta.json still reports 3.5.0). In this repo, version parity is required, and this mismatch can mislead users and automation that rely on metadata for displayed/expected template versions.

Useful? React with 👍 / 👎.

volumes:
- discourse-data:/bitnami/discourse
- discourse-data:/shared
depends_on:
discourse-db:
condition: service_healthy
discourse-redis:
condition: service_healthy
environment:
DISCOURSE_HOST: ${DISCOURSE_HOST}
DISCOURSE_DATABASE_HOST: discourse-db
DISCOURSE_DATABASE_PORT_NUMBER: 5432
DISCOURSE_DATABASE_USER: bn_discourse
DISCOURSE_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
DISCOURSE_DATABASE_NAME: bitnami_discourse
DISCOURSE_REDIS_HOST: discourse-redis
DISCOURSE_REDIS_PORT_NUMBER: 6379
DISCOURSE_REDIS_PASSWORD: ${REDIS_PASSWORD}
# Optional: Configure SMTP for email delivery
# DISCOURSE_SMTP_HOST: ${SMTP_HOST}
# DISCOURSE_SMTP_PORT: ${SMTP_PORT}
# DISCOURSE_SMTP_USER: ${SMTP_USER}
# DISCOURSE_SMTP_PASSWORD: ${SMTP_PASSWORD}
restart: unless-stopped

discourse-sidekiq:
image: docker.io/bitnamilegacy/discourse:3.5.0

volumes:
- discourse-sidekiq-data:/bitnami/discourse
depends_on:
- discourse-app
command: /opt/bitnami/scripts/discourse-sidekiq/run.sh
environment:
DISCOURSE_HOST: ${DISCOURSE_HOST}
DISCOURSE_DATABASE_HOST: discourse-db
DISCOURSE_DATABASE_PORT_NUMBER: 5432
DISCOURSE_DATABASE_USER: bn_discourse
DISCOURSE_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
DISCOURSE_DATABASE_NAME: bitnami_discourse
DISCOURSE_HOSTNAME: ${DISCOURSE_HOST}
DISCOURSE_DB_HOST: discourse-db
DISCOURSE_DB_PORT: 5432
DISCOURSE_DB_USERNAME: discourse
DISCOURSE_DB_PASSWORD: ${POSTGRES_PASSWORD}
DISCOURSE_DB_NAME: discourse
DISCOURSE_REDIS_HOST: discourse-redis
DISCOURSE_REDIS_PORT_NUMBER: 6379
DISCOURSE_REDIS_PORT: 6379
DISCOURSE_REDIS_PASSWORD: ${REDIS_PASSWORD}
# Optional: Configure SMTP for email delivery
# DISCOURSE_SMTP_HOST: ${SMTP_HOST}
DISCOURSE_DEVELOPER_EMAILS: ${DISCOURSE_ADMIN_EMAIL}
# Required for email delivery - Discourse will not function correctly without SMTP
# DISCOURSE_SMTP_ADDRESS: ${SMTP_HOST}
# DISCOURSE_SMTP_PORT: ${SMTP_PORT}
# DISCOURSE_SMTP_USER: ${SMTP_USER}
# DISCOURSE_SMTP_USER_NAME: ${SMTP_USER}
# DISCOURSE_SMTP_PASSWORD: ${SMTP_PASSWORD}
# DISCOURSE_SMTP_ENABLE_START_TLS: "true"
# DISCOURSE_NOTIFICATION_EMAIL: [email protected]
# DISCOURSE_DEVELOPER_EMAILS: [email protected]
ports:
- 80
restart: unless-stopped

volumes:
discourse-postgresql-data:
discourse-redis-data:
discourse-data:
discourse-sidekiq-data:
6 changes: 4 additions & 2 deletions blueprints/discourse/template.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
[variables]
main_domain = "${domain}"
admin_email = "${email}"
postgres_password = "${password}"
redis_password = "${password}"

[config]
env = [
"DISCOURSE_HOST=${main_domain}",
"DISCOURSE_ADMIN_EMAIL=${admin_email}",
"POSTGRES_PASSWORD=${postgres_password}",
"REDIS_PASSWORD=${redis_password}",
]
mounts = []

[[config.domains]]
serviceName = "discourse-app"
port = 3_000
host = "${main_domain}"
port = 80
host = "${main_domain}"
2 changes: 1 addition & 1 deletion meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -1785,7 +1785,7 @@
{
"id": "discourse",
"name": "Discourse",
"version": "3.5.0",
"version": "2026.1.4",
"description": "Discourse is a modern forum software for your community. Use it as a mailing list, discussion forum, or long-form chat room.",
"logo": "discourse.svg",
"links": {
Expand Down
Loading