This commit is contained in:
Adam Skotarczak 2025-06-27 12:58:02 +02:00
parent d28fc84bae
commit 87fb37fdd5
31 changed files with 3431 additions and 3259 deletions

View File

@ -1,11 +1,19 @@
# Changelog
- **27/06/15** - commit: v0.3.0
- **Hinzugefügt:**
- [X] Nginx Proxy Manager
---
- **25/06/15** - commit: v0.2.0
- **Hinzugefügt:**
- [X] git submodule erstellt
- [X] Rust Toolchain Einrichtung
- [X] Rust offline-installation
---
- **25/06/15** - commit: v0.1.0
- **Hinzugefügt:**
- [X] helix

View File

@ -84,7 +84,8 @@ Unter `./tools/` befinden sich Programme/ Skripte (aktuell in Typescript und Pyt
#### Webserver
- [Let's Encrypt: Fehlerbehebung bei Challenge-Timeout unter Plesk](dokus/apache-plesk/lets-encrypt-plesk.md)
- [Let's Encrypt: Fehlerbehebung bei Challenge-Timeout unter Plesk](dokus/plesk/lets-encrypt-plesk.md)
- [NGINX Proxy Manager als Reverse Proxy für Node.js-Apps](dokus/webserver/nginx-proxy-manager-setup.md)
---
@ -173,3 +174,5 @@ Unter `./tools/` befinden sich Programme/ Skripte (aktuell in Typescript und Pyt
> führe `scan.cmd` oder [`link_collector.py`](./tools/collector/link_collector.py) oder `npm run scan` aus um nach neuen Dateien zu suchen!
**NEUE EINTRÄGE AUS 'link_collector'->**
---

View File

@ -1,2 +1,2 @@
0.2.0
15.06.2025
0.3.0
27.06.2025

View File

@ -0,0 +1,158 @@
# NGINX Proxy Manager als Reverse Proxy für Node.js-Apps
>**Letzte Änderung:** 27.06.2025
---
- [NGINX Proxy Manager als Reverse Proxy für Node.js-Apps](#nginx-proxy-manager-als-reverse-proxy-für-nodejs-apps)
- [Ziel](#ziel)
- [Voraussetzungen](#voraussetzungen)
- [Verzeichnisstruktur](#verzeichnisstruktur)
- [docker-compose.yml](#docker-composeyml)
- [Starten](#starten)
- [Zugriff auf Web-GUI](#zugriff-auf-web-gui)
- [Proxy-Host anlegen](#proxy-host-anlegen)
- [Ergebnis](#ergebnis)
- [Hinweise](#hinweise)
- [Optional: Node.js-Apps als systemd-Service verwalten](#optional-nodejs-apps-als-systemd-service-verwalten)
- [Fertig](#fertig)
---
## Ziel
- Node.js-Apps im LAN per HTTPS erreichbar machen
- Let's Encrypt Zertifikate automatisch verwalten
- Einfaches Management über Web-GUI
- Kein manuelles Bearbeiten von NGINX-Konfigurationen
---
## Voraussetzungen
- Server mit Debian 12 oder kompatibel
- Docker und Docker Compose installiert
- Ports 80/443 sind frei
- Fritzbox leitet Ports 80/443 auf den Server weiter
- Domain zeigt per A-Record auf die öffentliche IP
---
## Verzeichnisstruktur
Empfohlenes Setup unter `/opt/nginx-proxy-manager/`:
```plaintext
/opt/nginx-proxy-manager/
├── docker-compose.yml
├── data/ # Konfigurationsdaten von NGINX Proxy Manager
└── letsencrypt/ # SSL-Zertifikate
```
---
## docker-compose.yml
```yaml
version: '3'
services:
nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80' # HTTP
- '443:443' # HTTPS
- '81:81' # Admin UI
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
environment:
- TZ=Europe/Berlin
```
---
## Starten
```bash
cd /opt/nginx-proxy-manager
docker compose up -d
```
---
## Zugriff auf Web-GUI
- URL: `http://<SERVER-IP>:81`
- Standard-Zugang:
- Benutzer: `admin@example.com`
- Passwort: `changeme`
- Zugangsdaten nach erstem Login ändern.
---
## Proxy-Host anlegen
1. „Proxy Hosts“ → „Add Proxy Host“
2. Domain Name: `app1.domain.de`
3. Scheme: `http`
4. Forward Hostname/IP: `192.168.178.11`
5. Forward Port: `3000`
6. SSL aktivieren → „Request a new SSL Certificate“ → Let's Encrypt
---
## Ergebnis
- Externe Anfragen an `app1.domain.de` werden via HTTPS von NGINX Proxy Manager entgegengenommen.
- Intern wird die Anfrage an `192.168.178.11:3000` (Node.js-App) weitergeleitet.
- Zertifikate werden automatisch verwaltet.
---
## Hinweise
✅ Kein systemweiter NGINX mehr erforderlich.
✅ Ports 80/443 werden vollständig vom Container belegt.
✅ Einfach skalierbar für mehrere Domains und Apps.
✅ Wartbar über die Weboberfläche, keine manuelle Konfigurationsarbeit.
---
## Optional: Node.js-Apps als systemd-Service verwalten
Beispiel für eine Datei `/etc/systemd/system/myapp.service`:
```ini
[Unit]
Description=Meine Node.js App
After=network.target
[Service]
ExecStart=/usr/bin/node /opt/myapp/index.js
Restart=on-failure
User=www-data
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
```
Aktivieren und starten:
```bash
systemctl enable myapp
systemctl start myapp
```
---
## Fertig
Dein Setup ist jetzt produktionsbereit.

View File

@ -2,6 +2,8 @@
REM ------------------------------------------------------------
REM Python-Wrapper für ein definiertes Skript mit Parametern
REM Führt ein festgelegtes Python-Skript aus und prüft, ob Python installiert ist
REM
REM Wird durch (./tools/collector/link_collector.py) und `npm run scan` abgeloest!
REM ------------------------------------------------------------
REM ==== KONFIGURATION =====

View File

@ -1,13 +1,14 @@
dokus/helix__editor_einfuehrung_de.md
dokus/windows/desktop_ini.md
dokus/webserver/nginx-proxy-manager-setup.md
dokus/rust/rust-offline-installation.md
dokus/rust/rust-toolchain-msvc.md
dokus/plesk/lets-encrypt-plesk.md
dokus/plesk/plesk-benutzer-schon-vorhanden.md
dokus/mechanik/gewindetabellen.md
dokus/js-ts/js-ts-dialekte.md
dokus/git/git-remote-branch.md
dokus/git/git-ssh-remote.md
dokus/git/git-submodule-leitfaden.md
dokus/git/git.md
dokus/asciidoc/asciidoctor-theme-bug-workaround.md
dokus/apache-plesk/lets-encrypt-plesk.md
dokus/git/git-submodule-leitfaden.md
dokus/rust/rust-toolchain-msvc.md
dokus/rust/rust-offline-installation.md