{"id":5043,"date":"2025-01-16T10:00:00","date_gmt":"2025-01-16T10:00:00","guid":{"rendered":"https:\/\/netguide.io\/linux\/apache-guacamole-auf-einem-raspberry-pi-installieren\/"},"modified":"2026-08-11T11:33:34","modified_gmt":"2026-08-11T11:33:34","slug":"apache-guacamole-auf-einem-raspberry-pi-installieren","status":"publish","type":"post","link":"https:\/\/netguide.io\/linux\/de\/apache-guacamole-auf-einem-raspberry-pi-installieren\/","title":{"rendered":"Apache Guacamole auf einem Raspberry Pi installieren"},"content":{"rendered":"<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4797\" data-bid=\"2\" data-placement=\"4798\">PGRpdiBpZD0ibmV0Z3VpZGVhLTExNTY3NTcxMjUiIGNsYXNzPSJuZXRndWlkZWEtYmVmb3JlLWNvbnRlbnQgbmV0Z3VpZGVhLWVudGl0eS1wbGFjZW1lbnQiPjxkaXYgY2xhc3M9Im5ldGd1aWRlYS1hZGxhYmVsIj5BZHZlcnRpc2VtZW50czwvZGl2PjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcz9jbGllbnQ9Y2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIiBzdHlsZT0iZGlzcGxheTpibG9jazsiIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgCmRhdGEtYWQtc2xvdD0iMzQ5NDExNTM0MiIgCmRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4KPHNjcmlwdD4gCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7IAo8L3NjcmlwdD4KPC9kaXY+<\/script>\n<p class=\"wp-block-paragraph\"><strong>Apache Guacamole auf dem Raspberry Pi<\/strong> verwandelt deinen Mini-Rechner in ein clientloses Remote-Desktop-Gateway. Statt f\u00fcr jedes System einen eigenen Client f\u00fcr RDP, VNC oder SSH zu installieren, \u00f6ffnest du deine Ger\u00e4te einfach im Webbrowser &ndash; egal ob vom Laptop, Tablet oder Smartphone. In dieser Schritt-f\u00fcr-Schritt-Anleitung installierst du Apache Guacamole auf einem Raspberry Pi als Docker-Container und sicherst den Zugang optional mit einer Zwei-Faktor-Authentifizierung ab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir setzen dabei bewusst auf Docker, denn so l\u00e4uft Guacamole samt Datenbank, dem <code>guacd<\/code>-Daemon und der Weboberfl\u00e4che in einem einzigen, sauber gekapselten Container. Falls du mit Containern noch nicht vertraut bist, verschafft dir unser Beitrag <a href=\"\/linux\/de\/was-ist-docker\/\">Was ist Docker?<\/a> zuerst den n\u00f6tigen \u00dcberblick. Das gleiche Prinzip funktioniert \u00fcbrigens auch auf anderen Homeserver-Plattformen wie <a href=\"\/linux\/de\/unraid-was-ist-das\/\">Unraid<\/a> oder <a href=\"\/linux\/de\/proxmox-vs-unraid\/\">Proxmox<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Voraussetzungen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Damit die Installation reibungslos gelingt, solltest du folgende Dinge bereithalten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Einen <strong>Raspberry Pi 4<\/strong> (oder neuer) mit mindestens 2 GB RAM &ndash; 4 GB sind f\u00fcr fl\u00fcssigeres Arbeiten empfehlenswert.<\/li>\n\n\n\n<li>Ein aktuelles 64-Bit-Betriebssystem, zum Beispiel <strong>Raspberry Pi OS (Bookworm)<\/strong>.<\/li>\n\n\n\n<li>Terminal-Zugriff \u00fcber einen Benutzer mit <code>sudo<\/code>-Rechten (lokal oder per SSH).<\/li>\n\n\n\n<li>Eine stabile Internetverbindung zum Herunterladen der Docker-Images.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Apache Guacamole auf dem Raspberry Pi installieren &ndash; Schritt f\u00fcr Schritt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Einrichtung gliedert sich in drei \u00fcberschaubare Schritte: System aktualisieren, Docker installieren und schlie\u00dflich den Guacamole-Container starten. Arbeite die Abschnitte am besten der Reihe nach ab.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 1: Raspberry Pi auf den neuesten Stand bringen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor du neue Software installierst, solltest du das System aktualisieren. So stellst du sicher, dass alle Pakete und Sicherheitsupdates aktuell sind:<\/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 -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\">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 style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-y<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo apt update<\/code> l\u00e4dt die aktuellen Paketlisten aus den Repositories, w\u00e4hrend <code>sudo apt upgrade -y<\/code> alle installierten Pakete aktualisiert und R\u00fcckfragen automatisch best\u00e4tigt. Je nach letztem Update kann dieser Vorgang ein paar Minuten dauern.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 2: Docker installieren<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den Betrieb von Guacamole brauchst du Docker. Beachte vorab zwei Punkte rund um die Firewall, damit es sp\u00e4ter keine \u00dcberraschungen gibt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nutzt du <code>ufw<\/code> oder <code>firewalld<\/code>, umgehen von Docker freigegebene Container-Ports deine bestehenden Firewall-Regeln. Details dazu findest du in der <a href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/#docker-and-ufw\" target=\"_blank\" rel=\"noreferrer noopener\">Docker-Dokumentation zu ufw<\/a>.<\/li>\n\n\n\n<li>Docker ist nur mit <code>iptables-nft<\/code> und <code>iptables-legacy<\/code> kompatibel. Eigene Regeln solltest du deshalb \u00fcber die <code>DOCKER-USER<\/code>-Kette einbinden (siehe <a href=\"https:\/\/docs.docker.com\/engine\/network\/packet-filtering-firewalls\/\" target=\"_blank\" rel=\"noreferrer noopener\">Paketfilterung und Firewalls<\/a>).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Richte zun\u00e4chst das offizielle Docker-Repository ein. Damit erh\u00e4ltst du stets aktuelle und signierte Docker-Pakete direkt von Docker selbst:<\/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\/raspbian\/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\/raspbian \\\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\/raspbian\/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\/raspbian <\/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<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Was macht dieser Befehl?<\/summary>\n<p class=\"wp-block-paragraph\">Dieser Befehl richtet die offizielle Docker-Repository f\u00fcr Raspbian ein, um Docker und verwandte Tools installieren zu k\u00f6nnen. Hier eine Erkl\u00e4rung Schritt f\u00fcr Schritt:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>sudo apt-get update<\/code><\/strong><br>Aktualisiert die Paketlisten, um sicherzustellen, dass das System \u00fcber die neuesten Informationen zu verf\u00fcgbaren Paketen verf\u00fcgt.<\/li>\n\n\n\n<li><strong><code>sudo apt-get install ca-certificates curl<\/code><\/strong><br>Installiert die erforderlichen Tools und Zertifikate:\n<ul class=\"wp-block-list\">\n<li><code>ca-certificates<\/code>: Erm\u00f6glicht die sichere Kommunikation \u00fcber HTTPS.<\/li>\n\n\n\n<li><code>curl<\/code>: Ein Werkzeug zum Herunterladen von Dateien aus dem Internet.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><code>sudo install -m 0755 -d \/etc\/apt\/keyrings<\/code><\/strong><br>Erstellt ein Verzeichnis <code>\/etc\/apt\/keyrings<\/code> mit Berechtigungen, um darin Schl\u00fcssel sicher zu speichern.<\/li>\n\n\n\n<li><strong><code>sudo curl -fsSL https:\/\/download.docker.com\/linux\/raspbian\/gpg -o \/etc\/apt\/keyrings\/docker.asc<\/code><\/strong><br>L\u00e4dt den GPG-Schl\u00fcssel von Docker herunter und speichert ihn in <code>\/etc\/apt\/keyrings\/docker.asc<\/code>. Dieser Schl\u00fcssel wird ben\u00f6tigt, um die Authentizit\u00e4t von Docker-Paketen zu \u00fcberpr\u00fcfen.<\/li>\n\n\n\n<li><strong><code>sudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/strong><br>Setzt die Berechtigung des Schl\u00fcssels so, dass alle Benutzer Lesezugriff darauf haben.<\/li>\n\n\n\n<li><strong>Repository hinzuf\u00fcgen<\/strong><br>Der folgende <code>echo<\/code>-Befehl erstellt eine neue Datei (<code>\/etc\/apt\/sources.list.d\/docker.list<\/code>), die die Docker-Repository enth\u00e4lt. Diese gibt an, wo Docker-Pakete heruntergeladen werden k\u00f6nnen. Die verwendete Architektur (<code>$(dpkg --print-architecture)<\/code>) und der Raspbian-Version-Codename (<code>$(. \/etc\/os-release &amp;&amp; echo \"$VERSION_CODENAME\")<\/code>) werden automatisch erkannt.<\/li>\n\n\n\n<li><strong><code>sudo apt-get update<\/code><\/strong><br>Aktualisiert die Paketlisten erneut, damit die Pakete aus der neu hinzugef\u00fcgten Docker-Repository verf\u00fcgbar werden.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ergebnis<\/strong>: Nach Ausf\u00fchrung dieses Befehls ist das System bereit, Docker-Pakete direkt aus der offiziellen Docker-Repository zu installieren.<\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">Sind Repository und GPG-Schl\u00fcssel eingerichtet, installierst du Docker mit allen wichtigen Komponenten in einem Rutsch:<\/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<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Was macht dieser Befehl?<\/summary>\n<p class=\"wp-block-paragraph\">Dieser Befehl installiert Docker und seine wichtigsten Komponenten:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>docker-ce<\/code><\/strong>: Die Docker Community Edition, die eigentliche Docker-Engine, um Container auszuf\u00fchren.<\/li>\n\n\n\n<li><strong><code>docker-ce-cli<\/code><\/strong>: Die Kommandozeilen-Tools f\u00fcr Docker, um Container zu verwalten.<\/li>\n\n\n\n<li><strong><code>containerd.io<\/code><\/strong>: Ein Laufzeitdienst, der von Docker verwendet wird, um Container zu starten und zu verwalten.<\/li>\n\n\n\n<li><strong><code>docker-buildx-plugin<\/code><\/strong>: Ein Plugin, das erweiterte Build-Funktionen bietet, z. B. f\u00fcr Multi-Plattform-Images.<\/li>\n\n\n\n<li><strong><code>docker-compose-plugin<\/code><\/strong>: Ein Plugin, um mit <code>docker compose<\/code> Anwendungen zu definieren und auszuf\u00fchren, die aus mehreren Containern bestehen.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zweck<\/strong>: Mit diesem Befehl wird ein vollst\u00e4ndiges Docker-Setup installiert, um Container zu erstellen, zu verwalten und komplexe Container-Anwendungen auszuf\u00fchren.<\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">Damit ist Docker einsatzbereit. Mit <code>docker --version<\/code> kannst du die erfolgreiche Installation kurz \u00fcberpr\u00fcfen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Schritt 3: Apache Guacamole als Docker-Container starten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt folgt der eigentliche Kern der Anleitung. Der folgende Befehl l\u00e4dt das Guacamole-Image f\u00fcr den Raspberry Pi herunter und startet den Container. Ersetze <code>&lt;\/path\/to\/config&gt;<\/code> durch einen echten Pfad auf deinem Pi, in dem die Konfiguration dauerhaft gespeichert wird:<\/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=\"docker run \\\n  -p 8080:8080 \\\n  -v &lt;\/path\/to\/config&gt;:\/config \\\n  -v \/etc\/localtime:\/etc\/localtime:ro \\\n  -e TZ=&quot;UTC&quot; \\\n  -e EXTENSIONS=&quot;auth-totp&quot; \\\n  flcontainers\/guacamole\" 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\">docker<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">run<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #79B8FF\">-p<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">8080<\/span><span style=\"color: #9ECBFF\">:8080<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #79B8FF\">-v<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #F97583\">&lt;<\/span><span style=\"color: #9ECBFF\">\/path\/to\/confi<\/span><span style=\"color: #E1E4E8\">g<\/span><span style=\"color: #F97583\">&gt;<\/span><span style=\"color: #9ECBFF\">:\/config<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #79B8FF\">-v<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\/etc\/localtime:\/etc\/localtime:ro<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #79B8FF\">-e<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">TZ=&quot;UTC&quot;<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #79B8FF\">-e<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">EXTENSIONS=&quot;auth-totp&quot;<\/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\">flcontainers\/guacamole<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ich empfehle ausdr\u00fccklich, die Erweiterung <code>auth-totp<\/code> zu aktivieren. Sie f\u00fcgt dem Login einen zweiten Faktor hinzu und erh\u00f6ht die Sicherheit sp\u00fcrbar &ndash; gerade wenn Guacamole sp\u00e4ter aus dem Netzwerk erreichbar ist.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Was ist TOTP?<\/summary>\n<p class=\"wp-block-paragraph\">Ein <strong>TOTP 2FA<\/strong> steht f\u00fcr <strong>Time-based One-Time Password Two-Factor Authentication<\/strong>. Es handelt sich um ein Verfahren zur Zwei-Faktor-Authentifizierung (2FA), das zeitbasierte Einmalpassw\u00f6rter verwendet, um die Sicherheit bei der Anmeldung an Anwendungen oder Diensten zu erh\u00f6hen. Hier sind die Hauptmerkmale:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Wie funktioniert TOTP 2FA?<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gemeinsamer Schl\u00fcssel (Seed)<\/strong>: Der Benutzer und der Server teilen sich einen geheimen Schl\u00fcssel, der bei der Einrichtung des TOTP generiert wird.<\/li>\n\n\n\n<li><strong>Zeitbasierter Algorithmus<\/strong>: Das System verwendet die aktuelle Uhrzeit in Kombination mit dem geheimen Schl\u00fcssel, um ein Einmalpasswort zu erstellen.<\/li>\n\n\n\n<li><strong>Dauer<\/strong>: Diese Einmalpassw\u00f6rter sind typischerweise nur f\u00fcr einen kurzen Zeitraum (z. B. 30 Sekunden) g\u00fcltig.<\/li>\n\n\n\n<li><strong>\u00dcberpr\u00fcfung<\/strong>: Der Server berechnet das Passwort f\u00fcr dieselbe Zeitspanne und vergleicht es mit dem vom Benutzer eingegebenen Code.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Typische Implementierungen<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TOTP-Codes werden h\u00e4ufig mit Authenticator-Apps wie <strong>Google Authenticator<\/strong>, <strong>Microsoft Authenticator<\/strong>, oder <strong>Authy<\/strong> generiert.<\/li>\n\n\n\n<li>Sie werden als sechs- bis achtstellige Zahlen angezeigt.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Vorteile<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Erh\u00f6hte Sicherheit<\/strong>: Selbst wenn das Passwort kompromittiert ist, ist der zweite Faktor notwendig.<\/li>\n\n\n\n<li><strong>Offline-Funktionalit\u00e4t<\/strong>: Authenticator-Apps ben\u00f6tigen keine Internetverbindung, da sie zeitbasiert arbeiten.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Beispiel-Anwendungen<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sicherer Login f\u00fcr Online-Konten (z. B. Google, GitHub, Banken).<\/li>\n\n\n\n<li>Authentifizierung bei VPNs, Servern oder Cloud-Diensten.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">TOTP ist ein weit verbreiteter Standard, definiert in der <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc6238\" target=\"_blank\" rel=\"noreferrer noopener\">RFC 6238<\/a>.<\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald der Container heruntergeladen und gestartet ist, erreichst du die Weboberfl\u00e4che \u00fcber die IP-Adresse deines Raspberry Pi, gefolgt vom Port 8080:<\/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=\"http:\/\/[RASPBERRY_PI_IP]:[PORT]\" 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\">http:\/\/[RASPBERRY_PI_IP]:[PORT]<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Die aktuelle IP-Adresse deines Raspberry Pi zeigt dir der Befehl <code>hostname -I<\/code> an.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beim ersten Aufruf meldest du dich mit dem Benutzernamen <strong>guacadmin<\/strong> und dem Passwort <strong>guacadmin<\/strong> an. <strong>Wichtig:<\/strong> \u00c4ndere dieses Standardpasswort umgehend und lege f\u00fcr den Alltag ein eigenes Benutzerkonto an.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/netguide.io\/linux\/wp-content\/uploads\/sites\/2\/2026\/08\/Home-Assistant-Apache-Guacamole-dashboard-1024x548-4.png\" alt=\"Apache Guacamole Weboberfl\u00e4che auf einem Raspberry Pi\" class=\"wp-image-5042\" srcset=\"https:\/\/netguide.io\/linux\/wp-content\/uploads\/sites\/2\/2026\/08\/Home-Assistant-Apache-Guacamole-dashboard-1024x548-4.png 1024w, https:\/\/netguide.io\/linux\/wp-content\/uploads\/sites\/2\/2026\/08\/Home-Assistant-Apache-Guacamole-dashboard-1024x548-4-300x161.png 300w, https:\/\/netguide.io\/linux\/wp-content\/uploads\/sites\/2\/2026\/08\/Home-Assistant-Apache-Guacamole-dashboard-1024x548-4-768x411.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Die Weboberfl\u00e4che von Apache Guacamole nach dem ersten Login auf dem Raspberry Pi.<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Apache Guacamole absichern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Guacamole liefert die Verbindung standardm\u00e4\u00dfig unverschl\u00fcsselt \u00fcber HTTP aus. F\u00fcr den dauerhaften Betrieb &ndash; und erst recht f\u00fcr den Zugriff aus dem Internet &ndash; solltest du den Dienst deshalb hinter einen Reverse Proxy wie <strong>NGINX<\/strong> oder <strong>Traefik<\/strong> setzen und ein g\u00fcltiges SSL-Zertifikat einrichten. In Kombination mit der zuvor aktivierten TOTP-Erweiterung erh\u00e4ltst du so einen verschl\u00fcsselten und mehrfach abgesicherten Zugang zu deinen Systemen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mit Apache Guacamole auf einem Raspberry Pi baust du dir eine schlanke, leistungsf\u00e4hige Remote-Desktop-L\u00f6sung, die komplett im Webbrowser l\u00e4uft und keine zus\u00e4tzliche Client-Software ben\u00f6tigt. Dank Docker ist die Installation in wenigen Minuten erledigt und l\u00e4sst sich sp\u00e4ter problemlos aktualisieren oder auf andere Hardware \u00fcbertragen. Erg\u00e4nzt um Zwei-Faktor-Authentifizierung und einen Reverse Proxy erh\u00e4ltst du einen sicheren Fernzugriff auf all deine Ger\u00e4te &ndash; von \u00fcberall.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">H\u00e4ufige Fragen zu Apache Guacamole auf dem Raspberry Pi<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">L\u00e4uft Apache Guacamole fl\u00fcssig auf einem Raspberry Pi?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja. F\u00fcr den Heimgebrauch reicht ein Raspberry Pi 4 mit 2 bis 4 GB RAM gut aus. Guacamole selbst ist ressourcenschonend, da die eigentliche Rechenlast auf den entfernten Systemen liegt. Bei vielen gleichzeitigen Sitzungen oder grafikintensiven Desktops profitierst du allerdings von mehr Arbeitsspeicher.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welche Protokolle unterst\u00fctzt Apache Guacamole?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Guacamole unterst\u00fctzt die g\u00e4ngigen Remote-Protokolle <strong>RDP<\/strong> (Windows), <strong>VNC<\/strong> und <strong>SSH<\/strong> sowie Telnet und Kubernetes-Konsolen. Damit greifst du \u00fcber eine einzige Oberfl\u00e4che auf Windows-, Linux- und macOS-Systeme zu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie \u00e4ndere ich das Standardpasswort guacadmin?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Melde dich mit <strong>guacadmin<\/strong> \/ <strong>guacadmin<\/strong> an und \u00f6ffne oben rechts die Einstellungen unter \u201ePreferences\u201c. Dort kannst du das Passwort \u00e4ndern. F\u00fcr den produktiven Einsatz empfiehlt es sich, ein separates Administratorkonto anzulegen und das Standardkonto zu deaktivieren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich Guacamole auch ohne Docker installieren?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Grunds\u00e4tzlich ja &ndash; eine native Installation aus den Quellpaketen ist m\u00f6glich, aber deutlich aufwendiger, weil Tomcat, guacd und die Datenbank einzeln eingerichtet werden m\u00fcssen. Der Docker-Weg aus dieser Anleitung ist f\u00fcr die meisten Nutzer schneller, wartungs\u00e4rmer und leichter reproduzierbar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie erreiche ich Guacamole sicher aus dem Internet?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6ffne niemals den Port 8080 direkt im Router. Nutze stattdessen einen Reverse Proxy mit SSL-Verschl\u00fcsselung, ein VPN wie WireGuard oder einen Tunnel-Dienst. In Verbindung mit der TOTP-Zwei-Faktor-Authentifizierung ist dein Zugang so bestm\u00f6glich gesch\u00fctzt.<\/p>\n<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4799\" data-bid=\"2\" data-placement=\"4800\">PGRpdiBpZD0ibmV0Z3VpZGVhLTI5NzEyOTQ3NzEiIGNsYXNzPSJuZXRndWlkZWEtYWZ0ZXItY29udGVudCBuZXRndWlkZWEtZW50aXR5LXBsYWNlbWVudCI+PGRpdiBjbGFzcz0ibmV0Z3VpZGVhLWFkbGFiZWwiPkFkdmVydGlzZW1lbnRzPC9kaXY+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzP2NsaWVudD1jYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyIgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiAKZGF0YS1hZC1zbG90PSI0NTU5Nzg1MDAyIiAKZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPgo8c2NyaXB0PiAKKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsgCjwvc2NyaXB0Pgo8L2Rpdj4=<\/script>","protected":false},"excerpt":{"rendered":"<p>So installierst du Apache Guacamole als Docker-Container auf dem Raspberry Pi: clientloser Remote-Desktop im Browser, inklusive 2FA und Sicherheitstipps.<\/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":[231],"tags":[],"class_list":["post-5043","post","type-post","status-publish","format-standard","hentry","category-docker"],"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":"So installierst du Apache Guacamole als Docker-Container auf dem Raspberry Pi: clientloser Remote-Desktop im Browser, inklusive 2FA und Sicherheitstipps.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5043","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=5043"}],"version-history":[{"count":1,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5043\/revisions"}],"predecessor-version":[{"id":5044,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5043\/revisions\/5044"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/media?parent=5043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/categories?post=5043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/tags?post=5043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}