docs+install: vollständiger Installer + aktuelle README
Mac-Worker: - install-launchagent.sh legt jetzt selbst venv + Dependencies an, statt das vorauszusetzen — ein Befehl reicht für komplette Erstinstallation - modernes launchctl bootout/bootstrap/kickstart statt unload/load (alte Variante wirft auf neueren macOS-Versionen "Input/output error 5") - neuer Sub-Befehl "restart" zum Neustarten ohne Reinstall - neues update.sh: git pull + pip install + kickstart + Health in einem Schritt LXC: - install.sh ALLOWED_EXTS-Check verhindert wiederholtes ",webm"-Anhängen - bessere Abschluss-Ausgabe mit echter Host-IP, Update-Anweisung, Diagnose-Hinweis Docs: - Haupt-README: aktueller Funktionsstand (Auth, PDF, Profile, Mobile/PWA, Diagnose, Retry alle als done markiert), Installation auf neuen Stand gebracht - Profile-Tabelle mit allen 17 Profilen - API-Listen vervollständigt (diag, preload, log, pdf, profiles) - Datenfluss-Skizze mit Preload + Heartbeat + X-Job-Id beschrieben Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+34
-16
@@ -52,9 +52,10 @@ elif ! grep -q "^SESSION_SECRET=" "$APP_DIR/lxc-frontend/.env"; then
|
||||
echo " SESSION_SECRET nachgetragen."
|
||||
fi
|
||||
|
||||
# ALLOWED_EXTS sicherstellen, dass 'webm' für Browser-Aufnahmen drin ist
|
||||
# ALLOWED_EXTS sicherstellen, dass 'webm' für Browser-Aufnahmen drin ist.
|
||||
# Wortgrenzen-Check verhindert dabei wiederholtes Anhängen.
|
||||
if grep -q "^ALLOWED_EXTS=" "$APP_DIR/lxc-frontend/.env"; then
|
||||
if ! grep -E "^ALLOWED_EXTS=.*\bwebm\b" "$APP_DIR/lxc-frontend/.env" >/dev/null; then
|
||||
if ! grep -Eq "^ALLOWED_EXTS=([^,]*,)*webm(,|$)" "$APP_DIR/lxc-frontend/.env"; then
|
||||
sed -i 's|^ALLOWED_EXTS=\(.*\)$|ALLOWED_EXTS=\1,webm|' "$APP_DIR/lxc-frontend/.env"
|
||||
echo " ALLOWED_EXTS um 'webm' ergänzt (für Mikrofon-Aufnahmen)."
|
||||
fi
|
||||
@@ -111,23 +112,40 @@ exec sudo -u deploy /var/www/voice-agent/lxc-frontend/.venv/bin/python \
|
||||
WRAPPER
|
||||
chmod 0755 /usr/local/bin/voice-agent-admin
|
||||
|
||||
HOST_IP_NOW="$(hostname -I 2>/dev/null | awk '{print $1}')"
|
||||
|
||||
echo
|
||||
echo "Fertig. Health-Check:"
|
||||
echo " curl -sk https://localhost/health"
|
||||
echo "════════════════════════════════════════════════════════════════════"
|
||||
echo " Voice-Agent LXC-Installation FERTIG"
|
||||
echo "════════════════════════════════════════════════════════════════════"
|
||||
echo
|
||||
echo "Aufruf im Browser: https://<LXC-IP>/ (HTTP wird auf HTTPS umgeleitet)"
|
||||
echo "Beim ersten Aufruf wird der initiale Admin angelegt."
|
||||
echo "Web-UI: https://${HOST_IP_NOW}/ (HTTP wird auf HTTPS umgeleitet)"
|
||||
echo "Health: curl -sk https://localhost/health"
|
||||
echo
|
||||
echo "── Mikrofon-Aufnahme von Handys ──────────────────────────────────────"
|
||||
echo "Damit iOS/Android das Mikrofon freigibt, MUSS die Seite über HTTPS laufen."
|
||||
echo "Das selbst-signierte Zertifikat einmalig auf jedem Gerät installieren:"
|
||||
echo "── Erst-Inbetriebnahme ──────────────────────────────────────────────"
|
||||
echo " 1) MAC_API_URL in $APP_DIR/lxc-frontend/.env auf die IP des Mac-Workers setzen"
|
||||
echo " und 'sudo systemctl restart voice-agent' ausführen."
|
||||
echo " 2) Browser öffnen — beim allerersten Aufruf wird der initiale Admin angelegt."
|
||||
echo
|
||||
echo " iPhone: Safari öffnen, http://<LXC-IP>/ssl/voice-agent.crt aufrufen"
|
||||
echo " → Profil herunterladen → Einstellungen → Profil installieren"
|
||||
echo " → Allgemein → Info → Zertifikatsvertrauen → 'voice-agent' aktivieren"
|
||||
echo "── Benutzer / Passwort ──────────────────────────────────────────────"
|
||||
echo " voice-agent-admin list # alle User"
|
||||
echo " voice-agent-admin create maria 'StartPasswort123' # neuer User"
|
||||
echo " voice-agent-admin reset admin 'NeuesPasswort123' # Passwort zurücksetzen"
|
||||
echo
|
||||
echo " Android: Browser öffnen, http://<LXC-IP>/ssl/voice-agent.crt aufrufen"
|
||||
echo " → Cert installieren als 'VPN/Apps' (Variiert je nach Hersteller)"
|
||||
echo "── Mikrofon-Aufnahme von Handys (PWA) ───────────────────────────────"
|
||||
echo " iOS/Android brauchen HTTPS. Selbst-signiertes Cert einmalig installieren:"
|
||||
echo " iPhone: Safari → http://${HOST_IP_NOW}/ssl/voice-agent.crt"
|
||||
echo " → Profil installieren → Einstellungen → Allgemein → Info"
|
||||
echo " → Zertifikatsvertrauen → 'voice-agent' aktivieren"
|
||||
echo " Android: Browser → http://${HOST_IP_NOW}/ssl/voice-agent.crt installieren"
|
||||
echo
|
||||
echo "Falls noch nicht geschehen: MAC_API_URL in $APP_DIR/lxc-frontend/.env setzen"
|
||||
echo "und Service neu starten: sudo systemctl restart voice-agent"
|
||||
echo "── Update auf neueste Version ───────────────────────────────────────"
|
||||
echo " sudo $APP_DIR/deploy/install.sh # idempotent — pullt + restartet"
|
||||
echo
|
||||
echo "── Diagnose / Troubleshooting ───────────────────────────────────────"
|
||||
echo " Service-Status: systemctl status voice-agent"
|
||||
echo " Live-Log: journalctl -u voice-agent -f"
|
||||
echo " Mac erreichbar? curl -sk https://localhost/api/mac/health"
|
||||
echo " Pro Job in der UI: Button 'Diagnose ▾' öffnet Mac-Worker-Log live"
|
||||
echo
|
||||
|
||||
|
||||
Reference in New Issue
Block a user