Inhaltsverzeichnis

Inofficial User Guide

von Ben Hest, https://forum.digikey.com/t/an-unofficial-discourse-user-reference-guide/

Operations

forum.netzwissen.de läuft mit separaten Containern für Datenbank und Web. Siehe https://meta.discourse.org/t/how-to-move-from-standalone-container-to-separate-web-and-data-containers/29413 Entsprechend gibt es separate *.yml Konfigurationen für den Daten-Container und den Web-Container.

root@develd:/var/discourse/containers# ls -la
total 28
drwxr-xr-x  2 root root 4096 Aug 20 10:11 .
drwxr-xr-x 12 root root 4096 Apr 30 05:37 ..
-rw-r--r--  1 root root 4637 Nov 11  2020 app.yml.inactive
-rw-r--r--  1 root root 1124 Nov 11  2020 data.yml
-rw-r--r--  1 root root    0 Nov 11  2020 .gitkeep
-rw-r--r--  1 root root 5059 Aug 20 10:11 web_only.yml

Launcher

root@develd:/var/discourse# ./launcher 
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
    start:       Start/initialize a container
    stop:        Stop a running container
    restart:     Restart a container
    destroy:     Stop and remove a container
    enter:       Open a shell to run commands inside the container
    logs:        View the Docker logs for a container
    bootstrap:   Bootstrap a container for the config based on a template
    run:         Run the given command with the config in the context of the last bootstrapped image
    rebuild:     Rebuild a container (destroy old, bootstrap, start new)
    cleanup:     Remove all containers that have stopped for > 24 hours
    start-cmd:   Generate docker command used to start container

Options:
    --skip-prereqs             Don't check launcher prerequisites
    --docker-args              Extra arguments to pass when running docker
    --skip-mac-address         Don't assign a mac address
    --run-image                Override the image used for running the container

Logs

/var/discourse/shared/standalone/log/

Allgemeine Debug info

/var/discourse/discourse-doctor

Found containers/app.yml

====== YAML SETTINGS ======

DISCOURSE_HOSTNAME=forum.netzwissen.de
SMTP_ADDRESS=mail.netzwissen.de
DEVELOPER_EMAILS=REDACTED
SMTP_PASSWORD=REDACTED
SMTP_PORT=587
SMTP_USER_NAME=noreply-discourse@netzwissen.de
LETSENCRYPT_ACCOUNT_EMAIL=REDACTED

====== DOCKER INFO ======

DOCKER VERSION: Docker version 19.03.8, build afacb8b7f0

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                    PORTS                   NAMES
7333f3210491        local_discourse/app   "/sbin/boot"             16 hours ago        Up 16 hours               127.0.0.1:884->80/tcp   app
539c78cffb6a        0dbf6b4c454b          "docker-entrypoint.s…"   5 weeks ago         Exited (0) 17 hours ago                           zammad-docker-compose_zammad-memcached_1

Discourse container app is running

Upgrade

Beide Container

/var/discourse

./launcher stop web_only && ./launcher rebuild data && ./launcher rebuild web_only

Nur web_only Appserver

/var/discourse

./launcher stop web_only && ./launcher rebuild web_only

Plugins

See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.

Plugin Installation

https://meta.discourse.org/t/install-plugins-in-discourse/19157

Maintenance

- One CPU and 1GB of memory, with swap, is the minimum for a basic Discourse community. As your community grows you may need more memory or CPU resources.

- [Our Docker container install](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md) is the only one we officially support. It guarantees easy updates, and all recommended optimizations from the Discourse team.

- You should get an email notification when new versions of Discourse are released. To update your instance via our easy one click upgrade process, visit [/admin/upgrade](/admin/upgrade).

- Some other things you might eventually want to set up:

  1. [Multiple Discourse instances on the same server](https://meta.discourse.org/t/multisite-configuration-with-docker/14084)
  2. [Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc](https://github.com/discourse/discourse/tree/master/script/import_scripts)
  3. A firewall on your server? [Configure firewall](https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584).
  4. A user friendly [offline page when rebuilding or upgrading?](https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238)
cd /var/discourse git pull ./launcher rebuild app

User Operations

Mass invite

  1. One user per line.
  2. Email is required in the first column, and the email must be valid.
  3. Any permissions groups you want this user to be a member of should be in second column. For multiple groups, separate group names with a semicolon group_1;group_2;group_3
  4. Normally invited users arrive at the homepage. If you would rather invited users end up on a specific topic, enter that Topic ID in the third column.

name@example.com,group_1;group_2,topic_id

Statistics

Plugin: Data Explorer

https://github.com/SidVal/discourse-data-explorer/blob/queries/querys.md

Zutritt zum Container

docker exec -it e6fe156e2091 /bin/bash

Special settings

Send personal message to all users on a Discourse site

https://meta.discourse.org/t/send-a-personal-message-or-email-to-all-users-on-a-discourse-site/229341

Backup & Restore

Backup

root@docker2:/var/discourse# ./launcher enter web_only

discourse backup
<code>

Beim Backup übers UI wird ein Link an die Admin Adresse geschickt. Der Link enthält einen passenden token, der zeitlich begrenzt und nur im gleichen Auth Kontext funktioniert.

Restore

Die Restore Datei muss nach /var/discourse/shared/web-only/backups/default

Um "aus Versehen" überschreiben zu vermeinden, muss enable_restore explizit aktiviert sein.

root@docker2:/var/discourse# ./launcher enter web_only

discourse enable_restore

discourse restore netzwissen-forum-2023-10-07-125819-v20230913194832.tar.gz