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
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!
Danke für die vielen Anleitungen. Genau richtig für mich und alles sehr übersichtlich.
Darf ich fragen, wann es weiter geht?
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.