Nginx Proxy Manager im LXC installieren

Moin!

Dieses Mal stelle ich euch ein absolut geniales Projekt vor. Es handelt sich um den Nginx Proxy Manager von jc21. Wie man dem Namen schon entnehmen kann, basiert das Projekt auf Nginx. Der Clou an dieser Software ist nicht nur die Leichtgewichtigkeit, sondern auch, dass alle relevanten Konfigurationen über ein Web UI erledigt werden können. Dazu gehört das Blocken von Exploits, SSL Zertifikate über Let’s Encrypt und zusätzliche Nginx Einstellungen über ein extra Fenster.

Bei der Installation werden wir eine MySQL Datenbank bzw. einen Container in Docker dafür anlegen. Solltet ihr bereits eine zentrale Datenbank haben, könnt ihr selbstverständlich auch diese nutzen. Welche Parameter ihr dabei ändern müsst, zeige ich euch ebenfalls.

Wir starten mit der Installation. Voraussetzung dafür ist:

Wir verbinden uns per SSH auf den Container, navigieren in das User Verzeichnis und erstellen einen Ordner für den Manager.

cd /home/username/
mkdir nginxproxymanager
cd nginxproxymanager

Nun legen wir eine Configdatei innerhalb des Verzeichnisses an. Wenn ihr einen bereits vorhanden MySQL Server verwenden wollt, passt einfach die Parameter an.

nano config.json
{
  "database": {
    "engine": "mysql",
    "host": "db",
    "name": "Datenbankname",
    "user": "Datenbankuser",
    "password": "Datenbankpasswort",
    "port": 3306
  }
}

Nun legen wir die Docker Compose Configdatei an. Solltet ihr das Setup mit eurem MySQL Server nutzen wollen, verwendet bitte die 2te Codebox.

version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1
  db:
    image: mariadb:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "Datenbankname"
      MYSQL_USER: "Datenbankuser"
      MYSQL_PASSWORD: "Datenbankpasswort"
    volumes:
      - ./data/mysql:/var/lib/mysql
version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1

Nun bauen wir unseren Container.

sudo docker-compose up -d

Jetzt können wir das Web UI ansteuern mit http://IPdesContainers:81. Dort angekommen loggen wir uns ein und können schon damit angefangen, diverse Proxy Hosts oder andere Konfigurationen vorzunehmen.

Login: admin@example.com
Passwort: changeme

Grüße gehen aus dem Archiv!

Abonnieren
Benachrichtige mich bei
guest
7 Kommentare
Älteste
Neuste Meist Bewerteste
Inline Feedbacks
Zeige alle Kommentare
7
0
Bitte lasse uns an deinen Gedanken teilhaben und kommentier den Beitrag.x
Cookie Consent mit Real Cookie Banner