====== Inofficial User Guide ====== von Ben Hest, [[https://forum.digikey.com/t/an-unofficial-discourse-user-reference-guide/|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 ====== ./launcher stop web_only && ./launcher rebuild data && ./launcher rebuild web_only ====== Plugins ====== - git clone https://github.com/discourse/docker_manager.git 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: - [Automatic daily backups](https://meta.discourse.org/t/configure-automatic-backups-for-discourse/14855) - [HTTPS support](https://meta.discourse.org/t/allowing-ssl-for-your-discourse-docker-setup/13847) - [Content Delivery Network support](https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857) - [Reply via Email](https://meta.discourse.org/t/set-up-reply-via-email-support/14003) - [Import and Export your data](https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721) - [Change the domain name](https://meta.discourse.org/t/how-do-i-change-the-domain-name/16098) - [Multiple Discourse instances on the same server](https://meta.discourse.org/t/multisite-configuration-with-docker/14084) - [Import old content from vBulletin, PHPbb, Vanilla, Drupal, BBPress, etc](https://github.com/discourse/discourse/tree/master/script/import_scripts) - A firewall on your server? [Configure firewall](https://meta.discourse.org/t/configure-a-firewall-for-discourse/20584). - A user friendly [offline page when rebuilding or upgrading?](https://meta.discourse.org/t/adding-an-offline-page-when-rebuilding/45238) - Embed Discourse [in your WordPress install](https://github.com/discourse/wp-discourse), or [on your static HTML site](https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963) cd /var/discourse git pull ./launcher rebuild app ====== User Operations ====== **Mass invite** - One user per line. - Email is required in the first column, and the email must be valid. - 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 - 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 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