Nginx Proxy Manager Installieren

Der Nginx Proxy Manager hilft uns unsere Dienste aus dem Internet erreichbar zu machen, außerdem können wir automatisch SSL Zertifikate ausstellen lassen. Dadurch müssen wir nicht bei jedem Dienst die SSL Zertifikate selber erstellen und sparen somit eine Menge Zeit.

Vorbereitung

Zuerst erstellen wir einen LXC Container. Wie das geht, habe ich meinem letzten Beitrag erklärt. Wir benötigen auch Docker und die DynDNS, die wir eingerichtet haben.

Zuerst bringen wir die Pakete auf den aktuellen Stand.

sudo apt get update && sudo apt get upgrade -y

Docker Installieren

Nun installieren wir Docker(Eine detailliertere Erklärung gibt’s hier:).

sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker

npm Installieren

npm ist ein Paketmanager, mit dem wir uns die Docker Container installieren können.

sudo apt install nodejs npm -y
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt install nodejs -y
nvm install v16.7.0

Nginx Proxy Manager Installieren

Jetzt installieren wir dir den Docker Container. Das machen wir mit Docker-Compose. Neben Nginx wird auch MariaDB installiert und automatisch konfiguriert. In MariaDB werden die Einträge der Domains, Weiterleitungen und SSL Zertifikate gespeichert.

mkdir nginx
cd nginx
nano docker-compose.yml
version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      # Mysql/Maria connection parameters:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./mysql:/var/lib/mysql

Wir speichern die docker-compose.yml mit STRG+X und bestätigen mit y.

Zum Schluss führen wir den Pull für den Docker Container aus.

docker-compose up -d

Nginx Proxy Manager Webinterface

Nginx Proxy Manager
NGINX Proxy Manager

Nachdem die Installation abgeschlossen ist, können wir auf das Webinterface zugreifen, dazu geben wir im Browser http://IP-VOM-CONTAINER:81 ein.

Login

Der Standardlogin ist Benutzer: admin@example.com und das Passwort: changeme. Nach dem ersten Login werden wir aufgefordert unsere Daten zu aktualisieren.

Konfiguration

Die Konfiguration werden wir im nächsten Blogbeitrag behandeln. Wenn wir aus dem Internet auf unsere Dienste zugreifen möchten ist es zwingend notwendig eine DynDNS eingerichtet zu haben!

Das könnte dich auch interessieren …

2 Antworten

  1. Michael sagt:

    Danke für die vielen Anleitungen. Genau richtig für mich und alles sehr übersichtlich.
    Darf ich fragen, wann es weiter geht?

    • Martin sagt:

      Danke das freut mich. Ich versuche in nächster Zeit wieder mehr Beiträge zu schreiben, aktuell habe ich leider sehr viel zu tun. Über den Newsletter werde ich alle informieren sobald, der nächste Beitrag fertig ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert