====== Nginx Proxy Manager ====== ===== Was ist das ===== Nginx Proxy Manager ist ein Docker-basierter Reverse Proxy Manager, der eine einfache und benutzerfreundliche Weboberfläche bietet, um Nginx Proxy Hosts zu verwalten. Er ermöglicht die unkomplizierte Verwaltung von Proxy-Hosts, Weiterleitungen und SSL-Zertifikaten, inklusive automatischer Lets Encrypt-Zertifikatsverwaltung. Dies macht es besonders geeignet für den Einsatz in Heimnetzwerken und kleinen bis mittleren Umgebungen, um Webdienste sicher und einfach erreichbar zu machen. ===== Beispiel bei Andreas ===== services: npm: image: docker.io/jc21/nginx-proxy-manager:2.13.5 labels: - wud.tag.include=\d+\.\d+\.\d+$ # For What's Up Docker monitoring container_name: npm hostname: npm restart: unless-stopped healthcheck: test: 'curl -f http://localhost:81/api/schema || exit 1' interval: 60s timeout: 5s retries: 3 start_period: 90s networks: - default # Use the main network volumes: - npm_data:/data # Named volume for persistence - npm_letsencrypt:/etc/letsencrypt # SSL certificates storage environment: INITIAL_ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@example.com} INITIAL_ADMIN_PASSWORD: ${ADMIN_PASSWORD:-changeme} DISABLE_IPV6: ${NPM_DISABLE_IPV6:-true} # Disable IPv6 X_FRAME_OPTIONS: ${NPM_X_FRAME_OPTIONS:-sameorigin} # Security headers ports: - "${NPM_HTTP_PORT:-80}:80" # HTTP port - "${NPM_HTTPS_PORT:-443}:443" # HTTPS port - "${NPM_ADMIN_PORT:-81}:81" # Admin interface port volumes: npm_data: npm_letsencrypt: ==== Erklärungen ==== * **image:** Verwendetes Docker Image und dessen Version. * **labels:** Metadaten/Labels zur Steuerung und Filterung, hier z.B. zum Einbinden in bestimmte Workflows oder Systeme. * **restart:** Container wird automatisch neu gestartet, falls er abstürzt oder der Host neu startet. * **container_name:** Vergebener Name für den Docker Container. * **hostname:** Hostname innerhalb des Containers. * **ports:** Portweiterleitungen vom Host zum Container. * `80:80` leitet HTTP Traffic weiter. * `443:443` leitet HTTPS Traffic weiter. * `81:81` ist das Verwaltungsinterface von Nginx Proxy Manager. * **volumes:** Persistente Speicherorte für Daten und Zertifikate. * `npm_data` speichert Konfigurationsdaten. * `letsencrypt` speichert Zertifikate für HTTPS. ===== Links zur aktuellen Dokumentation ===== * [[https://github.com/nginxproxymanager/nginx-proxy-manager|Offizielle Nginx Proxy Manager GitHub]] * [[https://nginxproxymanager.com/guide|Offizielle Dokumentation]] * [[https://github.com/nginxproxymanager/nginx-proxy-manager/blob/develop/docs/src/setup/index.md|Setup-Anleitung auf GitHub]]