A platform for community discussion.
Go to file
3wc fee61883ed
All checks were successful
continuous-integration/drone/push Build is passing
Fix CI, add auto recipe catalogue generation
2024-10-02 15:44:50 -04:00
.drone.yml Fix CI, add auto recipe catalogue generation 2024-10-02 15:44:50 -04:00
.env.sample feat: set notification e-mail 2022-11-22 15:58:04 +01:00
abra.sh Add postgres major version upgrade script 2023-08-21 15:56:57 +02:00
compose.smtpauth.yml SMTP config, initial README 2021-07-25 14:45:30 +02:00
compose.yml chore: publish 0.7.0+3.3.1 release 2024-10-02 15:42:31 -04:00
entrypoint.postgres.sh.tmpl Add postgres major version upgrade script 2023-08-21 15:56:57 +02:00
README.md docs: events plugin 2023-02-09 12:58:47 +01:00

Discourse

Build Status

A platform for community discussion

  • Category: Apps
  • Status:
  • Image: bitnami/discourse
  • Healthcheck: yes
  • Backups: no
  • Email: yes
  • Tests: no
  • SSO: no

Basic usage

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. abra app new discourse --secrets (optionally with --pass if you'd like to save secrets in pass)
  4. abra app config YOURAPPDOMAIN - be sure to change $DOMAIN to something that resolves to your Docker swarm box
  5. abra app deploy YOURAPPDOMAIN
  6. Open the configured domain in your browser to finish set-up

To add a new admin user

  1. Login to the instance abra app run APPNAME app sh
  2. cd /opt/bitnami/discourse
  3. RAILS_ENV=production bundle exec rake admin:create and follow prompts.

Install plugins

  1. Login to instance abra app run APPNAME app sh
  2. cd /bitnami/discourse/plugins/
  3. git clone plugin.git for example https://github.com/discourse/discourse-openid-connect.git
  4. abra app restart YOURAPPDOMAIN app

Events / calendar plugin

We've had some luck running discourse-events.

Setup Notes

Until issue #1 is fixed, the default user is user and the default password is bitnami123

Postgres major version upgrades

Welcome to hell.

  1. abra app run YOURAPPDOMAIN db pg_dumpall -U discourse | gzip > YOURAPPDOMAIN_db_DATE.sql.gz
  2. abra app volume ls YOURAPPDOMAIN, find the name of the Postgres data volume
  3. scp the backup to your VPS
  4. abra app undeploy YOURAPPDOMAIN
  5. abra app volume rm YOURAPPDOMAIN, choose the Postgres data volume
  6. abra app deploy YOURAPPDOMAIN, then abra app undeploy YOURAPPDOMAIN
  7. ssh to the VPS, run (replacing 13-alpine with the new Postgres version) docker run -v YOURDATAVOLUME:/var/lib/postgresql/data -e POSTGRES_HOST_AUTH_METHOD=trust -it postgres:13-alpine
  8. In another SSH session on the server, run docker ps to find the ID of the new Postgres container, then docker exec -it CONTAINERID bash
  9. In the shell you just launched, run dropdb -U discourse discourse, then createdb -U discourse discourse, then Ctrl+D or run exit
  10. In the second SSH session, run zcat YOURAPPDOMAIN_db_DATE.sql.gz | docker exec -it CONTAINERID psql -U discourse
  11. Exit the second SSH session
  12. Back in the first SSH session, Ctrl+C to shut down the database
  13. abra app deploy YOURAPPDOMAIN