{"id":90,"date":"2023-10-05T10:00:00","date_gmt":"2023-10-05T10:00:00","guid":{"rendered":"https:\/\/netguide.io\/network\/ubuntu-server-nginxproxymanager-docker-installieren\/"},"modified":"2026-08-14T19:26:35","modified_gmt":"2026-08-14T19:26:35","slug":"ubuntu-server-nginxproxymanager-docker-installieren","status":"publish","type":"post","link":"https:\/\/netguide.io\/network\/de\/ubuntu-server-nginxproxymanager-docker-installieren\/","title":{"rendered":"Nginx Proxy Manager unter Ubuntu Server mit Docker installieren"},"content":{"rendered":"<div id=\"netgu-4288883353\" class=\"netgu-before-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"3494115342\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<p class=\"wp-block-paragraph\">Der <strong>Nginx Proxy Manager<\/strong> macht mehrere Dienste hinter einer einzigen IP-Adresse erreichbar und nimmt dir gleichzeitig die l\u00e4stige Zertifikatsverwaltung ab. Statt f\u00fcr jeden Webserver einen eigenen Port zu \u00f6ffnen, verteilt der Reverse Proxy eingehende Anfragen anhand des Hostnamens auf die passenden Container oder Backends &ndash; und stellt auf Wunsch mit einem Klick kostenlose Let&rsquo;s-Encrypt-Zertifikate aus. In dieser Anleitung installierst du den Nginx Proxy Manager auf einem Ubuntu Server als Docker-Container, wahlweise mit SQLite oder MariaDB als Datenbank.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"289\" src=\"https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-38-Nginx-Proxy-Manager-1024x289-1.png\" alt=\"Nginx Proxy Manager Weboberfl\u00e4che\" class=\"wp-image-176\" srcset=\"https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-38-Nginx-Proxy-Manager-1024x289-1.png 1024w, https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-38-Nginx-Proxy-Manager-1024x289-1-300x85.png 300w, https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-38-Nginx-Proxy-Manager-1024x289-1-768x217.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist der Nginx Proxy Manager?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der Nginx Proxy Manager (oft nur <em>NPM<\/em> abgek\u00fcrzt) ist eine grafische Oberfl\u00e4che f\u00fcr den bekannten Webserver Nginx im Reverse-Proxy-Betrieb. Er l\u00e4uft als Docker-Container und bringt eine \u00fcbersichtliche Weboberfl\u00e4che mit, \u00fcber die du sogenannte <strong>Proxy Hosts<\/strong> anlegst. Jeder Proxy Host verweist eine Domain oder Subdomain auf ein internes Ziel &ndash; etwa <code>http:\/\/192.168.1.50:8080<\/code> &ndash; und kann automatisch per HTTPS abgesichert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der gro\u00dfe Vorteil: Du musst keine Nginx-Konfigurationsdateien mehr von Hand schreiben. Ports 80 und 443 landen zentral beim Proxy Manager, der die Verteilung \u00fcbernimmt. So betreibst du beliebig viele Dienste unter eigenen (Sub-)Domains, ohne dass sich die Anwendungen gegenseitig in die Quere kommen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Voraussetzungen f&uuml;r die Installation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F&uuml;r den Nginx Proxy Manager brauchst du einen laufenden Ubuntu Server sowie die installierte Docker-Engine samt Docker Compose. Wie du Docker unter Ubuntu einrichtest, zeigt eine separate Anleitung &ndash; hier gehen wir davon aus, dass Docker bereits einsatzbereit ist. Sinnvoll ist au&szlig;erdem eine feste lokale IP-Adresse f&uuml;r den Server, damit deine Portfreigaben und DNS-Eintr&auml;ge stabil bleiben.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ubuntu Server:<\/strong> aktuelle LTS-Version, per SSH erreichbar.<\/li>\n\n\n\n<li><strong>Docker-Engine &amp; Docker Compose:<\/strong> installiert und mit <code>docker --version<\/code> gepr&uuml;ft.<\/li>\n\n\n\n<li><strong>Offene Ports:<\/strong> 80 und 443 f&uuml;r den Webverkehr, 81 f&uuml;r die Administrationsoberfl&auml;che.<\/li>\n\n\n\n<li><strong>Feste IP oder DNS-Eintr&auml;ge:<\/strong> damit deine Domains zuverl&auml;ssig auf den Proxy zeigen.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Verzeichnis f&uuml;r den Nginx Proxy Manager anlegen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zun&auml;chst legst du ein eigenes Verzeichnis f&uuml;r den Container an und wechselst hinein. Dort landen sp&auml;ter die Compose-Datei sowie die persistenten Daten:<\/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=\"mkdir npm\ncd npm\" 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\">mkdir<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">npm<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">cd<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">npm<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Grunds&auml;tzlich gibt es zwei Varianten, den Nginx Proxy Manager zu betreiben: mit einem separaten MariaDB-Container als Datenbank oder mit dem eingebauten SQLite. F&uuml;r die meisten Setups reicht <strong>SQLite<\/strong> v&ouml;llig aus, denn der Proxy Manager stellt praktisch keine nennenswerten Anspr&uuml;che an die Datenbankleistung. MariaDB lohnt sich erst bei sehr gro&szlig;en Installationen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nginx Proxy Manager mit SQLite als Docker Compose installieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Im eben erstellten Verzeichnis legst du nun die Compose-Datei an. &Ouml;ffne sie mit einem Editor deiner Wahl, zum Beispiel nano:<\/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=\"nano docker-compose.yaml\" 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\">nano<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">docker-compose.yaml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">F&uuml;ge anschlie&szlig;end den folgenden Inhalt 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=\"version: &quot;3&quot;\nservices:\n  app:\n    image: 'jc21\/nginx-proxy-manager:latest'\n    restart: unless-stopped\n    ports:\n      # Public HTTP Port:\n      - '80:80'\n      # Public HTTPS Port:\n      - '443:443'\n      # Admin Web Port:\n      - '81:81'\n      # Add any other Stream port you want to expose\n      # - '21:21' # FTP\n    environment:\n      # These are the settings to access your db\n      # If you would rather use Sqlite uncomment this\n      # and remove all DB_MYSQL_* lines above\n      DB_SQLITE_FILE: &quot;\/data\/database.sqlite&quot;\n      # Uncomment this if IPv6 is not enabled on your host\n      # DISABLE_IPV6: 'true'\n    volumes:\n      - .\/data:\/data\n      - .\/letsencrypt:\/etc\/letsencrypt\n    depends_on:\n      - db\n  db:\n    image: 'jc21\/mariadb-aria:latest'\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: 'npm'\n      MYSQL_DATABASE: 'npm'\n      MYSQL_USER: 'npm'\n      MYSQL_PASSWORD: 'npm'\n    volumes:\n      - .\/data\/mysql:\/var\/lib\/mysql\" 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\">version:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"3\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">services:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #B392F0\">app:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">image:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'jc21\/nginx-proxy-manager:latest'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">restart:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">unless-stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Public HTTP Port:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'80:80'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Public HTTPS Port:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'443:443'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Admin Web Port:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'81:81'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Add any other Stream port you want to expose<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># - '21:21' # FTP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># These are the settings to access your db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># If you would rather use Sqlite uncomment this<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># and remove all DB_MYSQL_* lines above<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">DB_SQLITE_FILE:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"\/data\/database.sqlite\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Uncomment this if IPv6 is not enabled on your host<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># DISABLE_IPV6: 'true'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">.\/data:\/data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">.\/letsencrypt:\/etc\/letsencrypt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">depends_on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #B392F0\">db:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">image:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'jc21\/mariadb-aria:latest'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">restart:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">unless-stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_ROOT_PASSWORD:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'npm'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_DATABASE:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'npm'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_USER:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'npm'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_PASSWORD:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'npm'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">.\/data\/mysql:\/var\/lib\/mysql<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Mit <code>STRG + X<\/code>, anschlie&szlig;end <code>Y<\/code> und <code>Enter<\/code> speicherst du die Datei. Um die Container im Hintergrund zu starten, f&uuml;hrst du diesen Befehl aus:<\/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-compose up -d\" 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-compose<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">up<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Docker l&auml;dt jetzt die ben&ouml;tigten Images herunter und startet den Nginx Proxy Manager. Nach wenigen Augenblicken ist die Weboberfl&auml;che erreichbar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nginx Proxy Manager mit MariaDB als Docker Compose installieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du stattdessen einen dedizierten MariaDB-Container als Datenbank nutzen m&ouml;chtest, erstellst du die Compose-Datei ebenfalls im Projektverzeichnis:<\/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=\"nano docker-compose.yaml\" 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\">nano<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">docker-compose.yaml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Trage nun folgende Konfiguration ein. Wichtig: &Auml;ndere die Standard-Passw&ouml;rter unbedingt auf sichere, individuelle Werte, bevor du den Stack startest.<\/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=\"version: &quot;3&quot;\nservices:\n  app:\n    image: 'jc21\/nginx-proxy-manager:latest'\n    restart: unless-stopped\n    ports:\n      # Public HTTP Port:\n      - '80:80'\n      # Public HTTPS Port:\n      - '443:443'\n      # Admin Web Port:\n      - '81:81'\n    environment:\n      # These are the settings to access your db\n      DB_MYSQL_HOST: &quot;db&quot;\n      DB_MYSQL_PORT: 3306\n      DB_MYSQL_USER: &quot;changeuser&quot;\n      DB_MYSQL_PASSWORD: &quot;changepass&quot;\n      DB_MYSQL_NAME: &quot;npm&quot;\n      # If you would rather use Sqlite uncomment this\n      # and remove all DB_MYSQL_* lines above\n      # DB_SQLITE_FILE: &quot;\/data\/database.sqlite&quot;\n      # Uncomment this if IPv6 is not enabled on your host\n      # DISABLE_IPV6: 'true'\n    volumes:\n      - .\/data\/nginx-proxy-manager:\/data\n      - .\/letsencrypt:\/etc\/letsencrypt\n    depends_on:\n      - db\n  db:\n    image: yobasystems\/alpine-mariadb:latest\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: &quot;changeme&quot;\n      MYSQL_DATABASE: &quot;npm&quot;\n      MYSQL_USER: &quot;changeuser&quot;\n      MYSQL_PASSWORD: &quot;changepass&quot;\n    volumes:\n      - .\/data\/mariadb:\/var\/lib\/mysql\" 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\">version:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"3\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">services:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #B392F0\">app:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">image:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'jc21\/nginx-proxy-manager:latest'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">restart:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">unless-stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Public HTTP Port:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'80:80'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Public HTTPS Port:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'443:443'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Admin Web Port:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">'81:81'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># These are the settings to access your db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">DB_MYSQL_HOST:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"db\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">DB_MYSQL_PORT:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">3306<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">DB_MYSQL_USER:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"changeuser\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">DB_MYSQL_PASSWORD:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"changepass\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">DB_MYSQL_NAME:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"npm\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># If you would rather use Sqlite uncomment this<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># and remove all DB_MYSQL_* lines above<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># DB_SQLITE_FILE: \"\/data\/database.sqlite\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># Uncomment this if IPv6 is not enabled on your host<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #6A737D\"># DISABLE_IPV6: 'true'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">.\/data\/nginx-proxy-manager:\/data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">.\/letsencrypt:\/etc\/letsencrypt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">depends_on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">  <\/span><span style=\"color: #B392F0\">db:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">image:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">yobasystems\/alpine-mariadb:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">restart:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">unless-stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_ROOT_PASSWORD:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"changeme\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_DATABASE:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"npm\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_USER:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"changeuser\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">MYSQL_PASSWORD:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">\"changepass\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">    <\/span><span style=\"color: #B392F0\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E1E4E8\">      <\/span><span style=\"color: #B392F0\">-<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">.\/data\/mariadb:\/var\/lib\/mysql<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Auch hier speicherst du mit <code>STRG + X<\/code> und startest die Container mit dem gewohnten Befehl:<\/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-compose up -d\" 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-compose<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">up<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #79B8FF\">-d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Erste Anmeldung an der Weboberfl&auml;che<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald die Container laufen, erreichst du die Administrationsoberfl&auml;che unter der IP-Adresse deines Servers auf Port 81, also zum Beispiel <code>http:\/\/192.168.1.50:81<\/code>. Melde dich beim ersten Start mit den folgenden Standard-Zugangsdaten an:<\/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=\"Email:    admin@example.com\nPassword: changeme\" 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\">Email:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">admin@example.com<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">Password:<\/span><span style=\"color: #E1E4E8\"> <\/span><span style=\"color: #9ECBFF\">changeme<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"550\" src=\"https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-49-Nginx-Proxy-Manager.png\" alt=\"Anmeldung am Nginx Proxy Manager\" class=\"wp-image-177\" srcset=\"https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-49-Nginx-Proxy-Manager.png 498w, https:\/\/netguide.io\/network\/wp-content\/uploads\/sites\/10\/2026\/08\/Screenshot-2021-09-03-at-23-26-49-Nginx-Proxy-Manager-272x300.png 272w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Direkt nach dem ersten Login fordert dich der Nginx Proxy Manager auf, E-Mail-Adresse und Passwort zu &auml;ndern. Nimm dir daf&uuml;r einen Moment Zeit &ndash; die Standard-Zugangsdaten sind &ouml;ffentlich bekannt und sollten niemals im Produktivbetrieb bestehen bleiben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DNS richtig einrichten f&uuml;r den Reverse Proxy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Damit deine Domains beim Nginx Proxy Manager ankommen, m&uuml;ssen die passenden DNS-Eintr&auml;ge auf die &ouml;ffentliche oder lokale IP deines Servers zeigen. Im Heimnetz &uuml;bernimmt das h&auml;ufig der Router oder ein eigener DNS-Server. Betreibst du UniFi-Hardware, hilft dir unsere Anleitung, wie du den <a href=\"\/network\/de\/dns-server-aendern-bei-unifi-geraeten-udm-pro\/\">DNS-Server bei UniFi-Ger&auml;ten &auml;nderst<\/a>. Nutzt du einen Synology-Router, zeigt dir der Beitrag zum <a href=\"\/network\/de\/synology-router-dns-server-aendern\/\">DNS-Server am Synology-Router<\/a>, wie du die Namensaufl&ouml;sung anpasst.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F&uuml;r Zertifikate ist wichtig: Let&rsquo;s Encrypt pr&uuml;ft die Erreichbarkeit deiner Domain &uuml;ber Port 80. Entweder gibst du diesen Port im Router frei (HTTP-Challenge) oder du nutzt im Nginx Proxy Manager eine <strong>DNS-Challenge<\/strong> &uuml;ber deinen Domain-Anbieter &ndash; das funktioniert auch, wenn dein Server gar nicht direkt aus dem Internet erreichbar ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der <strong>Nginx Proxy Manager<\/strong> ist eine der komfortabelsten M&ouml;glichkeiten, mehrere Dienste hinter einer IP-Adresse zu b&uuml;ndeln und mit HTTPS abzusichern. Die Installation als Docker-Container auf einem Ubuntu Server ist in wenigen Minuten erledigt: Verzeichnis anlegen, Compose-Datei mit SQLite oder MariaDB erstellen, Stack starten und &uuml;ber Port 81 anmelden. F&uuml;r die meisten Heim- und Kleinserver ist die SQLite-Variante die einfachste und ressourcenschonendste Wahl. Ist der Proxy einmal eingerichtet, legst du neue Dienste bequem &uuml;ber die Weboberfl&auml;che an &ndash; ganz ohne manuelle Nginx-Konfiguration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">H&auml;ufige Fragen (FAQ)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Sollte ich den Nginx Proxy Manager mit SQLite oder MariaDB betreiben?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F&uuml;r nahezu alle privaten und kleinen Setups reicht <strong>SQLite<\/strong>. Der Proxy Manager ben&ouml;tigt kaum Datenbankleistung, und du sparst dir einen zus&auml;tzlichen Container. MariaDB ist nur bei sehr gro&szlig;en Installationen mit vielen Hosts sinnvoll.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welche Ports muss der Nginx Proxy Manager erreichen k&ouml;nnen?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der Container nutzt Port <code>80<\/code> f&uuml;r HTTP, Port <code>443<\/code> f&uuml;r HTTPS und Port <code>81<\/code> f&uuml;r die Administrationsoberfl&auml;che. F&uuml;r Let&rsquo;s-Encrypt-Zertifikate per HTTP-Challenge muss Port 80 aus dem Internet erreichbar sein.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wie lauten die Standard-Zugangsdaten?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beim ersten Start meldest du dich mit der E-Mail-Adresse <code>admin@example.com<\/code> und dem Passwort <code>changeme<\/code> an. Der Nginx Proxy Manager verlangt danach sofort, diese Zugangsdaten zu &auml;ndern &ndash; das solltest du unbedingt tun.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich mit dem Nginx Proxy Manager kostenlose SSL-Zertifikate erstellen?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja. &Uuml;ber die Weboberfl&auml;che stellst du mit wenigen Klicks kostenlose Let&rsquo;s-Encrypt-Zertifikate aus und l&auml;sst sie automatisch verl&auml;ngern. Wahlweise per HTTP-Challenge oder &uuml;ber eine DNS-Challenge deines Domain-Anbieters.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Muss mein Server aus dem Internet erreichbar sein?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nein. Du kannst den Nginx Proxy Manager auch rein im lokalen Netz betreiben. Zertifikate lassen sich dann &uuml;ber eine DNS-Challenge ausstellen, sodass keine eingehende Portfreigabe n&ouml;tig ist.<\/p>\n<div id=\"netgu-3836171357\" class=\"netgu-after-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"4559785002\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Nginx Proxy Manager unter Ubuntu mit Docker installieren: Reverse Proxy per Docker Compose mit SQLite oder MariaDB einrichten und SSL-Zertifikate erstellen.<\/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":[1],"tags":[],"class_list":["post-90","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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\/network\/author\/tobias-pries\/"},"uagb_comment_info":0,"uagb_excerpt":"Nginx Proxy Manager unter Ubuntu mit Docker installieren: Reverse Proxy per Docker Compose mit SQLite oder MariaDB einrichten und SSL-Zertifikate erstellen.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/posts\/90","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/comments?post=90"}],"version-history":[{"count":1,"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/posts\/90\/revisions"}],"predecessor-version":[{"id":178,"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/posts\/90\/revisions\/178"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/media?parent=90"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/categories?post=90"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/network\/wp-json\/wp\/v2\/tags?post=90"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}