autonomic-bot 9ff5e190e7 fix: drop orphaned image-less sidekiq from compose.smtpauth.yml
The official-image migration removed the separate sidekiq service from
compose.yml (sidekiq now runs inside the official discourse app image). The
compose.smtpauth.yml overlay still declared a sidekiq: block (smtp env +
smtp_password secret, no image), leaving a dangling image-less service in the
smtpauth-merged compose -> abra recipe lint R011 fail (invalid reference
format) and a broken SMTP-auth deploy. The app: override already carries the
DISCOURSE_SMTP_PASSWORD_FILE env + smtp_password secret (and compose.yml app
has all DISCOURSE_SMTP_* vars), so the sidekiq override is redundant. Drop it.
2026-06-18 06:47:09 +00:00
2025-01-08 10:09:12 -08:00
2026-06-02 19:10:27 +00:00

Discourse

Build Status

A platform for community discussion

  • Category: Apps
  • Status: 3, experimental
  • Image: discourse/discourse, 4, upstream
  • Healthcheck: yes
  • Backups: yes
  • Email: yes
  • Tests: yes
  • SSO: no

Note

: this recipe runs the official, experimental discourse/discourse image. Upstream does not yet recommend it for production — see https://meta.discourse.org/t/380646. Use with care.

Basic usage

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. abra app new discourse --secrets (optionally with --pass to save secrets in pass)
  4. abra app config YOURAPPDOMAIN — set DOMAIN and DISCOURSE_DEVELOPER_EMAILS
  5. abra app deploy YOURAPPDOMAIN
  6. Open the configured domain in your browser to finish set-up. The first account that registers with an address listed in DISCOURSE_DEVELOPER_EMAILS becomes an admin.

The app serves plain HTTP on port 80; Traefik terminates TLS in front of it. The image's built-in nginx/Let's Encrypt is disabled by the recipe (install-ssl override) so it works behind the reverse proxy.

Add an admin user

abra app run YOURAPPDOMAIN app discourse admin create

Postgres major version upgrades

Handled automatically. The db entrypoint detects an older data directory on deploy and runs pg_upgrade in place (it installs the old binaries, detects the cluster's real install superuser, and upgrades). No manual dump/restore needed.

Migrating from the previous (bitnami) recipe

The official image stores uploads under /shared rather than bitnami's /bitnami/discourse. On first boot the recipe copies uploads + backups from the old bitnami volume (mounted read-only at /legacy) into /shared, once, idempotently. The Postgres database is reused as-is. After a successful migration a later recipe version will drop the transitional /legacy mount.

If you are upgrading from the bitnami recipe, also remove the now-unused sidekiq service that swarm leaves behind (sidekiq runs inside the app container now):

docker service rm YOURSTACK_sidekiq
Description
cc-ci mirror of coop-cloud/discourse
Readme 107 KiB
Languages
Shell 100%