mirror of
https://github.com/Dokploy/templates.git
synced 2026-05-21 03:52:05 -05:00
[PR #824] fix(discourse): replace dead bitnami images with working alternatives #7171
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/824
Author: @khalidmemon1
Created: 4/28/2026
Status: 🔄 Open
Base:
canary← Head:canary📝 Commits (2)
c5b68aafix(discourse): replace dead bitnami images with working alternativesc493b7efix(discourse): fix Redis auth and volume path for official image📊 Changes
2 files changed (+13 additions, -9 deletions)
View changed files
📝
blueprints/discourse/docker-compose.yml(+6 -8)📝
blueprints/discourse/template.toml(+7 -1)📄 Description
Problem
Bitnami deprecated free versioned images on Docker Hub in August 2025.
The following images no longer exist and cause deployment failures:
docker.io/bitnami/postgresql:17docker.io/bitnami/redis:7.4docker.io/bitnamilegacy/discourse:3.5.0Changes
docker.io/bitnami/postgresql:17postgres:16-alpinedocker.io/bitnami/redis:7.4redis:7-alpinedocker.io/bitnamilegacy/discourse:3.5.0bitnamilegacy/discourse:3.3.0docker.io/bitnamilegacy/discourse:3.5.0bitnamilegacy/discourse:3.3.0Tested
Verified working on a live Dokploy instance — all services start healthy, Discourse is accessible.
Greptile Summary
This PR replaces deprecated Bitnami Docker Hub images with working alternatives for the Discourse template. The Redis fix (using
--requirepasscommand flag) correctly addresses a previously flagged issue. However, two previously-flagged P0/P1 issues remain unresolved:postgres:16-alpinestill uses Bitnami env var names (POSTGRESQL_USERNAME,POSTGRESQL_PASSWORD,POSTGRESQL_DATABASE) which are silently ignored by the official image; the database and user are never created, so Discourse will fail all DB connections at startup.meta.jsonstill showsversion: \"3.5.0\"whiledocker-compose.ymlnow usesbitnamilegacy/discourse:3.3.0, violating the AGENTS.md requirement that the version field must match the Docker image version.Confidence Score: 1/5
Not safe to merge — the postgres service will fail to initialise due to incompatible env var names, and the meta.json version is out of sync.
A pre-existing P0 (wrong env var names for
postgres:16-alpineintroduced by this PR's image swap) means Discourse is still broken on fresh deploy. The meta.json version mismatch is a P1 that will also cause CI validation to fail. Multiple unresolved critical issues keep the score at 1/5.blueprints/discourse/docker-compose.yml(postgres env vars and volume path) andmeta.json(version field out of sync with image tag)Comments Outside Diff (3)
blueprints/discourse/docker-compose.yml, line 4-17 (link)postgres:16-alpineis the official PostgreSQL image and does not recognise Bitnami-specific environment variable names.POSTGRESQL_USERNAME,POSTGRESQL_PASSWORD, andPOSTGRESQL_DATABASEare silently ignored, so thebn_discourseuser andbitnami_discoursedatabase are never created. Discourse will then fail every connection attempt at startup.The official image uses
POSTGRES_USER,POSTGRES_PASSWORD, andPOSTGRES_DB. The volume mount path is also wrong: official postgres stores data at/var/lib/postgresql/data, not/bitnami/postgresql.Fix the env var names and the volume path:
blueprints/discourse/docker-compose.yml, line 44-59 (link)template.tomldefines and injects these three variables as global project env vars, but neitherdiscourse-appnordiscourse-sidekiqreference them inside theirenvironment:block in docker-compose.yml. Docker Compose only forwards a variable to a container when it is explicitly listed under the service'senvironment:key. Without this, the bitnami Discourse image falls back to its built-in defaults and the configured admin credentials are silently discarded.Add the missing references to both service
environment:sections:(and the equivalent for the admin credential variable)
blueprints/discourse/template.toml, line 1-22 (link)Per the project's AGENTS.md, the
versionfield inmeta.jsonmust match the Docker image version indocker-compose.yml. The image has been downgraded from3.5.0to3.3.0, butmeta.jsonstill shows"version": "3.5.0". This mismatch will cause CI validation to fail and is a required convention for the template registry.Context Used: AGENTS.md (source)
Reviews (2): Last reviewed commit: "fix(discourse): fix Redis auth and volum..." | Re-trigger Greptile
Context used:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.