v0.3.0
This commit is contained in:
parent
d28fc84bae
commit
87fb37fdd5
@ -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
|
||||
|
@ -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'->**
|
||||
|
||||
---
|
||||
|
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 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 =====
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user