v0.3.0
This commit is contained in:
parent
d28fc84bae
commit
87fb37fdd5
@ -1,11 +1,19 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
- **27/06/15** - commit: v0.3.0
|
||||||
|
- **Hinzugefügt:**
|
||||||
|
- [X] Nginx Proxy Manager
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
- **25/06/15** - commit: v0.2.0
|
- **25/06/15** - commit: v0.2.0
|
||||||
- **Hinzugefügt:**
|
- **Hinzugefügt:**
|
||||||
- [X] git submodule erstellt
|
- [X] git submodule erstellt
|
||||||
- [X] Rust Toolchain Einrichtung
|
- [X] Rust Toolchain Einrichtung
|
||||||
- [X] Rust offline-installation
|
- [X] Rust offline-installation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
- **25/06/15** - commit: v0.1.0
|
- **25/06/15** - commit: v0.1.0
|
||||||
- **Hinzugefügt:**
|
- **Hinzugefügt:**
|
||||||
- [X] helix
|
- [X] helix
|
||||||
|
@ -84,7 +84,8 @@ Unter `./tools/` befinden sich Programme/ Skripte (aktuell in Typescript und Pyt
|
|||||||
|
|
||||||
#### Webserver
|
#### 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!
|
> 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'->**
|
**NEUE EINTRÄGE AUS 'link_collector'->**
|
||||||
|
|
||||||
|
---
|
||||||
|
158
dokus/webserver/nginx-proxy-manager-setup.md
Normal file
158
dokus/webserver/nginx-proxy-manager-setup.md
Normal 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.
|
2
scan.cmd
2
scan.cmd
@ -2,6 +2,8 @@
|
|||||||
REM ------------------------------------------------------------
|
REM ------------------------------------------------------------
|
||||||
REM Python-Wrapper für ein definiertes Skript mit Parametern
|
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 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 ------------------------------------------------------------
|
||||||
|
|
||||||
REM ==== KONFIGURATION =====
|
REM ==== KONFIGURATION =====
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
dokus/helix__editor_einfuehrung_de.md
|
dokus/helix__editor_einfuehrung_de.md
|
||||||
dokus/windows/desktop_ini.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/plesk/plesk-benutzer-schon-vorhanden.md
|
||||||
dokus/mechanik/gewindetabellen.md
|
dokus/mechanik/gewindetabellen.md
|
||||||
dokus/js-ts/js-ts-dialekte.md
|
dokus/js-ts/js-ts-dialekte.md
|
||||||
dokus/git/git-remote-branch.md
|
dokus/git/git-remote-branch.md
|
||||||
dokus/git/git-ssh-remote.md
|
dokus/git/git-ssh-remote.md
|
||||||
|
dokus/git/git-submodule-leitfaden.md
|
||||||
dokus/git/git.md
|
dokus/git/git.md
|
||||||
dokus/asciidoc/asciidoctor-theme-bug-workaround.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
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user