{"id":5040,"date":"2024-12-19T10:00:00","date_gmt":"2024-12-19T10:00:00","guid":{"rendered":"https:\/\/netguide.io\/linux\/discourse-installieren-so-gehts\/"},"modified":"2024-12-19T10:00:00","modified_gmt":"2024-12-19T10:00:00","slug":"discourse-installieren-so-gehts","status":"publish","type":"post","link":"https:\/\/netguide.io\/linux\/de\/discourse-installieren-so-gehts\/","title":{"rendered":"Discourse installieren: Anleitung f\u00fcr den eigenen Linux-Server"},"content":{"rendered":"<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4797\" data-bid=\"2\" data-placement=\"4798\">PGRpdiBpZD0ibmV0Z3VpZGVhLTQwOTAyNDYxMzUiIGNsYXNzPSJuZXRndWlkZWEtYmVmb3JlLWNvbnRlbnQgbmV0Z3VpZGVhLWVudGl0eS1wbGFjZW1lbnQiPjxkaXYgY2xhc3M9Im5ldGd1aWRlYS1hZGxhYmVsIj5BZHZlcnRpc2VtZW50czwvZGl2PjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcz9jbGllbnQ9Y2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIiBzdHlsZT0iZGlzcGxheTpibG9jazsiIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgCmRhdGEtYWQtc2xvdD0iMzQ5NDExNTM0MiIgCmRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4KPHNjcmlwdD4gCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7IAo8L3NjcmlwdD4KPC9kaXY+<\/script>\n<p class=\"wp-block-paragraph\"><strong>Discourse installieren<\/strong> ist deutlich einfacher, als der Funktionsumfang der Software vermuten l&auml;sst. Die moderne Open-Source-Forensoftware l&auml;uft vollst&auml;ndig in einem Docker-Container und l&auml;sst sich mit wenigen Befehlen auf einem eigenen Linux-Server einrichten. In dieser Schritt-f&uuml;r-Schritt-Anleitung zeigen wir dir, wie du Discourse von Grund auf aufsetzt, korrekt konfigurierst und per HTTPS absicherst &ndash; von den Voraussetzungen &uuml;ber Docker bis zum ersten Login als Administrator.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Discourse installieren: Die Voraussetzungen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor du Discourse installierst, sollte dein Server einige Grundvoraussetzungen erf&uuml;llen. Discourse ist zwar ressourcenschonend, verlangt aber eine saubere Umgebung mit Docker und einer erreichbaren Domain:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Linux-Server:<\/strong> Discourse unterst&uuml;tzt offiziell vor allem Ubuntu 20.04 und 22.04, l&auml;uft aber auch auf anderen aktuellen Distributionen mit Docker-Unterst&uuml;tzung.<\/li>\n\n\n\n<li><strong>Hardware:<\/strong> moderne Single-Core-CPU (Dual-Core empfohlen), mindestens 1&nbsp;GB RAM mit aktiviertem Swap (2&nbsp;GB empfohlen), ein 64-Bit-System sowie rund 10&nbsp;GB freier Speicherplatz.<\/li>\n\n\n\n<li><strong>Root- bzw. Sudo-Rechte:<\/strong> Du ben&ouml;tigst administrative Rechte, um Pakete zu installieren und Konfigurationen vorzunehmen.<\/li>\n\n\n\n<li><strong>Docker:<\/strong> Discourse kapselt alle Abh&auml;ngigkeiten in einem Container. Docker muss daher vorhanden sein.<\/li>\n\n\n\n<li><strong>Offene Ports &amp; &ouml;ffentliche IP:<\/strong> W&auml;hrend des Setups pr&uuml;ft Discourse die Erreichbarkeit &uuml;ber die Domain. Die Ports 80 und 443 m&uuml;ssen offen sein.<\/li>\n\n\n\n<li><strong>Domain-Name:<\/strong> Du brauchst eine Domain oder Subdomain, z.&nbsp;B. <code>forum.deinedomain.com<\/code>.<\/li>\n\n\n\n<li><strong>SMTP-Relay:<\/strong> F&uuml;r Registrierungen und Benachrichtigungen ben&ouml;tigt Discourse einen SMTP-Dienst zum Versand von E-Mails.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Als Unterbau eignet sich ein kleiner VPS ebenso wie eine virtuelle Maschine auf <a href=\"\/linux\/de\/was-ist-proxmox\/\">Proxmox<\/a> oder ein Docker-f&auml;higer Host auf <a href=\"\/linux\/de\/unraid-was-ist-das\/\">Unraid<\/a>. Wichtig ist vor allem, dass die Ports 80 und 443 aus dem Internet erreichbar sind.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 1: Linux-Server vorbereiten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zuerst verbindest du dich per SSH mit deinem Server:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"ssh user@dein-server-ip\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">ssh<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">user@dein-server-ip<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">System aktualisieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bringe zun&auml;chst alle Pakete auf den neuesten Stand, damit die Installation auf einer sauberen Basis aufsetzt:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo apt update\nsudo apt upgrade\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">update<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">upgrade<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Docker installieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Discourse setzt vollst&auml;ndig auf <a href=\"\/linux\/de\/was-ist-docker\/\">Docker<\/a>, um Anwendung und Abh&auml;ngigkeiten zu isolieren. Zuerst binden wir das offizielle Docker-APT-Repository ein:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Add Docker's official GPG key:\nsudo apt-get update\nsudo apt-get install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/debian\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc\n\n# Add the repository to Apt sources:\necho \\\n  &quot;deb [arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.asc] https:\/\/download.docker.com\/linux\/debian \\\n  $(. \/etc\/os-release &amp;&amp; echo &quot;$VERSION_CODENAME&quot;) stable&quot; | \\\n  sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\nsudo apt-get update\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A737D\"># Add Docker&#39;s official GPG key:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt-get<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">update<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt-get<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">install<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">ca-certificates<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">curl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">install<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-m<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">0755<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-d<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/etc\/apt\/keyrings<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">curl<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-fsSL<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">https:\/\/download.docker.com\/linux\/debian\/gpg<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-o<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/etc\/apt\/keyrings\/docker.asc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">chmod<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">a+r<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/etc\/apt\/keyrings\/docker.asc<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># Add the repository to Apt sources:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">echo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #9ECBFF\">&quot;deb [arch=$(<\/span><span style=\"color: #B392F0\">dpkg<\/span><span style=\"color: #9ECBFF\"> <\/span><span style=\"color: #79B8FF\">--print-architecture<\/span><span style=\"color: #9ECBFF\">) signed-by=\/etc\/apt\/keyrings\/docker.asc] https:\/\/download.docker.com\/linux\/debian <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">  $(<\/span><span style=\"color: #79B8FF\">.<\/span><span style=\"color: #9ECBFF\"> \/etc\/os-release &amp;&amp; <\/span><span style=\"color: #79B8FF\">echo<\/span><span style=\"color: #9ECBFF\"> &quot;<\/span><span style=\"color: #E1E4E8\">$VERSION_CODENAME<\/span><span style=\"color: #9ECBFF\">&quot;) stable&quot;<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">|<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">tee<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/etc\/apt\/sources.list.d\/docker.list<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">&gt;<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/dev\/null<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt-get<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">update<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Anschlie&szlig;end installieren wir Docker samt Compose-Plugin:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt-get<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">install<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">docker-ce<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">docker-ce-cli<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">containerd.io<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">docker-buildx-plugin<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">docker-compose-plugin<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Git installieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Discourse ben&ouml;tigt zus&auml;tzlich Git, um sein Docker-Repository zu klonen:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo apt install git -y\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">apt<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">install<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">git<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-y<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 2: Discourse-Repository klonen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt klonen wir das offizielle Discourse-Docker-Repository nach <code>\/var\/discourse<\/code> und setzen die Berechtigungen:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"sudo -s\ngit clone https:\/\/github.com\/discourse\/discourse_docker.git \/var\/discourse\ncd \/var\/discourse\nchmod 700 containers\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">sudo<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">git<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">clone<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">https:\/\/github.com\/discourse\/discourse_docker.git<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/var\/discourse<\/span><\/span>\n<span class=\"line\"><span style=\"color: #79B8FF\">cd<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/var\/discourse<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">chmod<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">700<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">containers<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Der Befehl klont das Repository nach <code>\/var\/discourse\/<\/code> und beschr&auml;nkt mit <code>chmod<\/code> die Zugriffsrechte auf den Ordner <code>containers<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 3: Das Discourse-Setup starten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Du solltest dich nun im Ordner <code>\/var\/discourse<\/code> befinden &ndash; das Setup l&auml;sst sich nur von hier ausf&uuml;hren. Falls nicht, wechsle mit <code>cd \/var\/discourse<\/code> dorthin. Anschlie&szlig;end startest du das interaktive Setup:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\".\/discourse-setup\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">.\/discourse-setup<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Das Skript stellt dir daraufhin einige Fragen zu Hostname, Admin-Adresse und SMTP-Zugangsdaten:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Hostname for your Discourse? [discourse.example.com]: \nEmail address for admin account(s)? [me@example.com,you@example.com]: \nSMTP server address? [smtp.example.com]: \nSMTP port? [587]: \nSMTP user name? [user@example.com]: \nSMTP password? [pa$$word]: \nLet's Encrypt account email? (ENTER to skip) [me@example.com]: \nOptional Maxmind License key () [xxxxxxxxxxxxxxxx]:\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">Hostname<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">for<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">your<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">Discourse?<\/span><span style=\"color: #E1E4E8\"> [discourse.example.com]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">Email<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">address<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">for<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">admin<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">account<\/span><span style=\"color: #E1E4E8\">(<\/span><span style=\"color: #B392F0\">s<\/span><span style=\"color: #E1E4E8\">)<\/span><span style=\"color: #9ECBFF\">?<\/span><span style=\"color: #E1E4E8\"> [me@example.com,you@example.com]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">SMTP<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">server<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">address?<\/span><span style=\"color: #E1E4E8\"> [smtp.example.com]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">SMTP<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">port?<\/span><span style=\"color: #E1E4E8\"> [587]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">SMTP<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">user<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">name?<\/span><span style=\"color: #E1E4E8\"> [user@example.com]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">SMTP<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">password?<\/span><span style=\"color: #E1E4E8\"> [pa$$word]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">Let<\/span><span style=\"color: #B392F0\">&#39;s Encrypt account email? (ENTER to skip) [me@example.com]: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du beim Punkt <em>Let&rsquo;s Encrypt account email<\/em> eine E-Mail-Adresse angibst, erh&auml;lt dein Forum automatisch ein kostenloses HTTPS-Zertifikat. Das solltest du unbedingt einrichten, um deine Seite abzusichern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Setup erzeugt die Datei <code>app.yml<\/code> im Ordner <code>\/var\/discourse\/containers\/<\/code> und startet anschlie&szlig;end das Bootstrapping.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Was ist Bootstrapping?<\/summary>\n<p class=\"wp-block-paragraph\"><strong>Bootstrapping<\/strong> bezeichnet den Prozess, bei dem ein System mit allen n&ouml;tigen Ressourcen, Abh&auml;ngigkeiten und Konfigurationen initialisiert und in einen betriebsbereiten Zustand &uuml;berf&uuml;hrt wird. Bei Container-Technologien wie Docker beschreibt der Begriff den ersten Einrichtungsschritt. Beim <strong>Discourse-Bootstrapping<\/strong> wird ein Docker-Container mit allen erforderlichen Komponenten &ndash; etwa Datenbank und Anwendungsdiensten &ndash; geladen und so eingerichtet, dass die Anwendung ohne manuelle Eingriffe startklar ist.<\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">Das Bootstrapping dauert je nach Hardware zwischen 2 und 8 Minuten. Sobald es abgeschlossen ist, erreichst du dein Discourse-Forum bereits unter der zuvor festgelegten Domain.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/netguide.io\/wp-content\/uploads\/2024\/12\/discourse-install-1024x630.png\" alt=\"Discourse-Weboberfl&auml;che nach der Installation\" class=\"wp-image-372\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Nach der Installation: Erste Schritte<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rufe dein Forum jetzt im Browser &uuml;ber deine Domain auf und registriere dich mit der zuvor angegebenen Admin-E-Mail-Adresse. Discourse verschickt eine Best&auml;tigungsmail &ndash; deshalb muss das SMTP-Setup zwingend funktionieren. &Ouml;ffnest du die Best&auml;tigung, erh&auml;lt dein Konto automatisch Administratorrechte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anschlie&szlig;end f&uuml;hrt dich ein Einrichtungsassistent durch die wichtigsten Grundeinstellungen wie Forennamen, Logo, Kategorien und Rechte. Updates spielst du sp&auml;ter bequem &uuml;ber die Weboberfl&auml;che unter <code>\/admin\/upgrade<\/code> oder per <code>.\/launcher rebuild app<\/code> ein.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Discourse zu installieren erfordert nur wenige Schritte: Server vorbereiten, Docker und Git einrichten, das Repository klonen und das Setup ausf&uuml;hren. Dank des Docker-basierten Ansatzes bleibt das System sauber gekapselt und l&auml;sst sich einfach warten und aktualisieren. Wer eine erreichbare Domain, ein funktionierendes SMTP-Relay und ein g&uuml;ltiges HTTPS-Zertifikat einrichtet, hat in unter einer Stunde ein voll funktionsf&auml;higes, modernes Community-Forum am Start.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">H&auml;ufige Fragen zur Discourse-Installation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Wie viel RAM ben&ouml;tigt Discourse?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Discourse l&auml;uft mit mindestens 1&nbsp;GB RAM, sofern zus&auml;tzlich Swap aktiviert ist. F&uuml;r einen fl&uuml;ssigen Betrieb mit mehreren aktiven Nutzern werden jedoch 2&nbsp;GB RAM oder mehr empfohlen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich Discourse ohne eigene Domain installieren?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nein, eine Domain oder Subdomain ist praktisch Pflicht. Discourse pr&uuml;ft die Erreichbarkeit &uuml;ber die Domain und ben&ouml;tigt sie sowohl f&uuml;r das HTTPS-Zertifikat als auch f&uuml;r den zuverl&auml;ssigen E-Mail-Versand.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warum ben&ouml;tigt Discourse einen SMTP-Server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Discourse verschickt Registrierungs-Best&auml;tigungen, Passwort-Resets und Benachrichtigungen per E-Mail. Ohne funktionierendes SMTP-Relay kann sich niemand registrieren &ndash; auch nicht der erste Admin-Account.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ist Docker f&uuml;r Discourse zwingend erforderlich?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja. Die einzige offiziell unterst&uuml;tzte Installationsmethode basiert auf Docker. Der Container b&uuml;ndelt alle Abh&auml;ngigkeiten und macht Updates sowie Backups deutlich einfacher.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie lange dauert die Installation?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die reine Einrichtung ist in wenigen Minuten erledigt. Das anschlie&szlig;ende Bootstrapping des Docker-Containers dauert je nach Serverleistung zwischen 2 und 8 Minuten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie aktualisiere ich Discourse sp&auml;ter?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kleinere Updates spielst du bequem &uuml;ber die Weboberfl&auml;che unter <code>\/admin\/upgrade<\/code> ein. Gr&ouml;&szlig;ere Updates f&uuml;hrst du auf dem Server im Ordner <code>\/var\/discourse<\/code> mit <code>.\/launcher rebuild app<\/code> aus.<\/p>\n<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4799\" data-bid=\"2\" data-placement=\"4800\">PGRpdiBpZD0ibmV0Z3VpZGVhLTIwMzA3MTMyMDgiIGNsYXNzPSJuZXRndWlkZWEtYWZ0ZXItY29udGVudCBuZXRndWlkZWEtZW50aXR5LXBsYWNlbWVudCI+PGRpdiBjbGFzcz0ibmV0Z3VpZGVhLWFkbGFiZWwiPkFkdmVydGlzZW1lbnRzPC9kaXY+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzP2NsaWVudD1jYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyIgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiAKZGF0YS1hZC1zbG90PSI0NTU5Nzg1MDAyIiAKZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPgo8c2NyaXB0PiAKKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsgCjwvc2NyaXB0Pgo8L2Rpdj4=<\/script>","protected":false},"excerpt":{"rendered":"<p>Discourse installieren leicht gemacht: Diese Anleitung f\u00fchrt dich Schritt f\u00fcr Schritt durch Voraussetzungen, Docker-Setup, Konfiguration und HTTPS-Absicherung.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[477],"tags":[],"class_list":["post-5040","post","type-post","status-publish","format-standard","hentry","category-discourse"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Tobias Pries","author_link":"https:\/\/netguide.io\/linux\/author\/tobias-pries\/"},"uagb_comment_info":0,"uagb_excerpt":"Discourse installieren leicht gemacht: Diese Anleitung f\u00fchrt dich Schritt f\u00fcr Schritt durch Voraussetzungen, Docker-Setup, Konfiguration und HTTPS-Absicherung.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/comments?post=5040"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5040\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/media?parent=5040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/categories?post=5040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/tags?post=5040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}