Installation Nativ - BBessler/Solarmanager GitHub Wiki
Native Installation (ohne Docker)
Bei der nativen Installation werden alle Komponenten direkt auf dem System installiert — ohne Docker.
Voraussetzungen
- Debian / Ubuntu / Raspberry Pi OS
- Internetzugang
- Root-Rechte (
sudo) - Ein Benutzer
piauf dem System
Installation starten
wget https://raw.githubusercontent.com/BBessler/Solarmanager/main/install/setup_solarmanager.sh
chmod +x setup_solarmanager.sh
./setup_solarmanager.sh
Das Script fragt zwei Dinge ab:
| Eingabe | Standard | Beschreibung |
|---|---|---|
| Hostname/IP | solarmanager.local |
Erreichbarkeit im Netzwerk |
| DB-Passwort | solarmanager |
MariaDB Root-Passwort |
Was das Script macht
1. Hostname & mDNS (15%)
Bei einem .local-Hostname wird Avahi installiert, sodass der Solarmanager per mDNS erreichbar ist.
2. Apache, PHP, MariaDB (20%)
Installiert die Basispakete:
- Apache2 mit mod_rewrite, mod_ssl, mod_proxy
- PHP mit MySQL-Unterstützung
- MariaDB Server
3. phpMyAdmin (30%)
- Automatische Installation und Konfiguration
- Erreichbar unter
http://hostname/phpmyadmin
4. MariaDB konfigurieren (40–50%)
- Erstellt User
piundrootmit dem gewählten Passwort - Erstellt Datenbank
solardb - Öffnet MariaDB für externe Verbindungen
5. Firewall (55%)
Öffnet die benötigten Ports:
| Port | Dienst |
|---|---|
| 22 | SSH |
| 80 | HTTP Frontend |
| 90 | HTTP Backend-API |
| 443 | HTTPS Frontend |
| 453 | HTTPS Backend-API |
| 3306 | MariaDB |
| 5000 | .NET Backend (intern) |
6. SSL-Zertifikat (63%)
- Generiert ein Self-Signed-Zertifikat (10 Jahre gültig)
- Gespeichert unter
/etc/ssl/solarmanager/ - SubjectAltName enthält den Hostname und die IP-Adresse
7. Apache VirtualHosts (66%)
Richtet vier VirtualHosts ein:
| Port | Funktion |
|---|---|
| 443 | HTTPS Frontend (DocumentRoot: /var/www/html) |
| 453 | HTTPS Backend-API (Proxy auf localhost:5000) |
| 80 | HTTP Frontend |
| 90 | HTTP Backend-API (Proxy auf localhost:5000) |
8. .NET und Python (80%)
- Installiert .NET 9 Runtime
- Installiert Python 3 und die Bibliotheken für BMW- und Hyundai/Kia-Fahrzeuganbindung:
hyundai-kia-connect-apibimmer_connected
9. Releases herunterladen (83%)
- Lädt Backend und Frontend von GitHub Releases herunter
- Backend nach
/var/www/html/backend/ - Frontend nach
/var/www/html/ - Konfiguriert
config.jsonmit der Backend-URL
10. Systemd-Service (90%)
Erstellt den Service solarmanager.service:
[Service]
WorkingDirectory=/var/www/html/backend/
ExecStart=dotnet /var/www/html/backend/Solarmanager.dll
User=pi
Environment=ASPNETCORE_URLS="http://*:5000"
11. Datenbank-Import (optional)
Falls eine Datei solardb.sql im aktuellen Verzeichnis liegt, wird gefragt, ob diese importiert werden soll.
Architektur
Port 80 ──── Apache (HTTP Frontend)
Port 90 ──── Apache (HTTP Backend-Proxy → :5000)
Port 443 ──── Apache (HTTPS Frontend)
Port 453 ──── Apache (HTTPS Backend-Proxy → :5000)
Port 5000 ─── .NET Backend (Solarmanager.dll)
Port 3306 ─── MariaDB
Zugriff nach der Installation
| Dienst | URL |
|---|---|
| Frontend (HTTP) | http://solarmanager.local |
| Frontend (HTTPS) | https://solarmanager.local |
| Backend-API (HTTP) | http://solarmanager.local:90 |
| Backend-API (HTTPS) | https://solarmanager.local:453 |
| phpMyAdmin | http://solarmanager.local/phpmyadmin |
Nützliche Befehle
# Backend neu starten
sudo systemctl restart solarmanager.service
# Status prüfen
sudo systemctl status solarmanager.service
# Logs anzeigen
sudo journalctl -u solarmanager.service -f
# Apache neu starten
sudo systemctl restart apache2
Update
Siehe Update Nativ.