Webservices: Unterschied zwischen den Versionen

Aus Store2 Wiki
Zur Navigation springen Zur Suche springen
Zeile 391: Zeile 391:
= Grafana Konfiguration - Dokumentation =
= Grafana Konfiguration - Dokumentation =


=== Zugang ===
*'''Zugang:'''
 
** URL: <nowiki>http://dergagi.changeip.org:3030</nowiki>
* '''URL:''' <nowiki>http://dergagi.changeip.org:3030</nowiki>
** Login: admin / QgdQh9ksJraVHL
* '''Login:''' admin / QgdQh9ksJraVHL
** Status: Vollständig funktional  '''Container-Setup:'''
* '''Status:''' Vollständig funktional (letzte Wiederherstellung: 03.09.2025)
** Container: internet-monitoring-grafana-1
 
** Port: 3030 (extern) → 3000 (intern)
=== Container-Setup ===
** Docker-Compose: /home/gagi/internet-monitoring/docker-compose.yml
 
** Netzwerke: internet-monitoring_front-tier, internet-monitoring_back-tier '''Datenquellen:'''
* '''Container:''' internet-monitoring-grafana-1
** Prometheus (monitor-net): PC443BC7917172FDB (Standard, funktional)
* '''Port:''' 3030 (extern) → 3000 (intern)
** prometheus: P1809F7CD0C75ACF3 (Alternative)
* '''Docker-Compose:''' /home/gagi/internet-monitoring/docker-compose.yml
** Verbindung: <nowiki>http://prometheus:9090</nowiki> '''Aktive Dashboards:'''
* '''Netzwerke:''' internet-monitoring_front-tier, internet-monitoring_back-tier
** '''Speedtest-Exporter Dashboard:''' ID -fs18ztMz, zeigt 935 Mb/s Down, 53.6 Mb/s Up
* '''Image:''' grafana/grafana (Standard)
** '''Node Exporter Full:''' System-Ressourcen (CPU, RAM, Disk-Usage) '''Daten-Persistierung:'''
 
** Datenbank: /var/lib/docker/volumes/internet-monitoring_grafana_data/_data/grafana.db
=== Datenquellen ===
** Provisioning: /home/gagi/internet-monitoring/grafana/provisioning/ '''Speedtest-Integration:'''
 
** Exporter: jraviles/prometheus_speedtest (stabil, aktiv maintained)
* '''Prometheus (monitor-net):''' PC443BC7917172FDB (Standard, funktional)
** Container: prometheus-speedtest auf Port 9798
* '''prometheus:''' P1809F7CD0C75ACF3 (Alternative)
** Metriken: download_speed_bps, upload_speed_bps, ping_ms  '''Letzte Wiederherstellung:''' 03.09.2025, DB aus /mnt/nvme_backup/daily.2
* '''Verbindung:''' <nowiki>http://prometheus:9090</nowiki> (Container-internes Netzwerk)
 
=== Dashboards (aktiv) ===
 
* '''Internet connection:''' Ping-basiert, zeigt Verbindungsqualität
* '''Speedtest-Exporter Dashboard:''' ID -fs18ztMz, zeigt 944 Mb/s Down, 53.5 Mb/s Up
* '''Node Exporter Full:''' System-Ressourcen (CPU 21.7%, RAM 43.8%, Disk-Usage)
* '''Entfernte Dashboards:''' Power consumption, Starlink Overview (gelöscht 03.09.2025)
 
=== Daten-Persistierung ===
 
* '''Datenbank:''' /var/lib/docker/volumes/internet-monitoring_grafana_data/_data/grafana.db
* '''Provisioning:''' /home/gagi/internet-monitoring/grafana/provisioning/
** Datasources: /home/gagi/internet-monitoring/grafana/provisioning/datasources/datasource.yml
** Dashboards: /home/gagi/internet-monitoring/grafana/provisioning/dashboards/
 
=== Wiederherstellungs-Historie ===
 
* '''DB-Quelle:''' /mnt/nvme_backup/daily.2/srv/grafana/data/grafana.db (01.09.2025 14:36)
* '''Admin-User:''' Erstellt 27.08.2025, DB wiederhergestellt 03.09.2025
* '''Letzte Reparatur:''' Container-Neustart nach Docker-Volume-Wiederherstellung
 
=== Monitoring-Stack Integration ===
 
* '''Prometheus-Targets:''' speedtest:9798, nodeexp:9100, ping:9115
* '''Scrape-Intervall:''' Standard (15s für die meisten Targets)
* '''Speedtest-Probleme:''' Intermittierende Socket-Errors im miguelndecarvalho/speedtest-exporter (bekanntes Problem)
 
*


= HomeBox Konfiguration - STORE2 =
= HomeBox Konfiguration - STORE2 =

Version vom 3. September 2025, 12:49 Uhr

Store2 MediaWiki - Aktuelle Konfiguration & Dokumentation

Stand: 31. August 2025, 14:45 Uhr

Status: Produktiv, vollständig funktional

System-Übersicht

Grundkonfiguration

  • MediaWiki Version: 1.44.0
  • URL: http://dergagi.changeip.org:8088/
  • Betriebssystem: Debian 13 (STORE2)
  • Container-System: Docker + Docker-Compose
  • Installation-Pfad: /srv/mediawiki-clean-final/

Admin-Zugang

Docker-Setup

Container-Konfiguration

bash

# Container-Namen
mw-clean-final        # MediaWiki-Anwendung
mw-clean-final-db     # MariaDB-Datenbank

# Management-Befehle
cd /srv/mediawiki-clean-final/
docker-compose up -d        # Start
docker-compose down         # Stop
docker ps | grep mw-clean  # Status
docker logs mw-clean-final # Logs

Port-Mapping

  • MediaWiki: Container:80 → Host:8088
  • Datenbank: Container:3306 (intern, nicht exposed)

Datenbank-Konfiguration

MariaDB-Credentials

  • DB-Host: database (Container-Name)
  • DB-Name: mediawiki
  • DB-User: mwuser
  • DB-Passwort: CleanFinalMW2025!
  • DB-Root-User: root
  • DB-Root-Passwort: CleanFinalRoot2025!

Datenbank-Zugriff

bash

# Direkte Datenbank-Verbindung
docker exec -it mw-clean-final-db mysql -u mwuser -p'CleanFinalMW2025!' mediawiki

# Root-Zugriff
docker exec -it mw-clean-final-db mysql -u root -p'CleanFinalRoot2025!' mediawiki

MediaWiki-Konfiguration

LocalSettings.php (Zentrale Einstellungen)

  • Container-Pfad: /var/www/html/LocalSettings.php
  • Host-Backup: /srv/mediawiki-clean-final/LocalSettings.php

Wichtige Konfigurationswerte

php

$wgSitename = "Store2 Wiki";
$wgServer = "http://dergagi.changeip.org:8088";
$wgLanguageCode = "de";
$wgDefaultSkin = "vector";
$wgEnableUploads = true;
$wgLogo = "$wgResourceBasePath/images/logo.png";

Logo-Integration

  • Logo-Datei: /var/www/html/images/logo.png (im Container)
  • Original-Größe: 1536x1024px → Skaliert: 160x107px
  • Dateigröße: ~10KB (von ursprünglich 1.1MB)

Daten-Inhalt

Wiki-Seiten (12 Hauptseiten)

  • Hauptseite (mit Kachel-Layout)
  • Store_2.0 (umfangreiche System-Dokumentation)
  • RAID-Systeme (Raid, Raid-Layout)
  • Linux-Verwendung (Linux-use)
  • Change-Routen (System-Migration)
  • Webservices & Subversion
  • Wiki-Bearbeitung (Wiki-Edit)

Statistik

  • Seiten: 12 importiert
  • Revisionen: 1059 (aus 2010er Backup)
  • Datenquelle: XML-Backup von Original-Store2-System

Backup-System

Aktuelle Backups

bash

# Vollständiges Final-Backup (94MB)
/root/mediawiki-final-with-logo.2025-08-31-144213/
├── mw-database.tar.gz     (41MB - Docker-Volume)
├── mw-images.tar.gz       (6.4MB - Images+Logo)
├── mediawiki-final.sql    (47MB - SQL-Dump)
├── LocalSettings-final.php (4.7KB - Konfiguration)
└── mediawiki-setup/       (Docker-Compose)

# Arbeits-Backup (Fallback)
/root/mediawiki-working-backup.20250831-123906/

# Original XML-Backup (sicher)
/root/STORE2-XML-BACKUP-SAFE-20250831-112526.xml.gz

Restore-Prozedur

bash

cd /root/mediawiki-final-with-logo.2025-08-31-144213/
docker-compose -f mediawiki-setup/docker-compose.yml down
docker volume rm mediawiki-clean-final_mw-database mediawiki-clean-final_mw-images
docker-compose -f mediawiki-setup/docker-compose.yml up -d
gunzip < mw-database.tar.gz | docker run -i --rm -v mediawiki-clean-final_mw-database:/data alpine tar xzf - -C /data
gunzip < mw-images.tar.gz | docker run -i --rm -v mediawiki-clean-final_mw-images:/data alpine tar xzf - -C /data
docker cp LocalSettings-final.php mw-clean-final:/var/www/html/LocalSettings.php

Docker-Volumes

Volume-Management

bash

# Volume-Namen
mediawiki-clean-final_mw-database  # MariaDB-Daten
mediawiki-clean-final_mw-images    # MediaWiki-Uploads + Logo

# Volume-Pfade
/var/lib/docker/volumes/mediawiki-clean-final_mw-database/_data
/var/lib/docker/volumes/mediawiki-clean-final_mw-images/_data

Wartung & Maintenance

MediaWiki-Maintenance-Scripts

bash

# Update-Script
docker exec mw-clean-final php /var/www/html/maintenance/update.php

# Cache-Rebuild
docker exec mw-clean-final php /var/www/html/maintenance/rebuildrecentchanges.php

# Site-Statistiken
docker exec mw-clean-final php /var/www/html/maintenance/initSiteStats.php

Monitoring

  • Port-Check: netstat -tlnp | grep :8088
  • Container-Status: docker ps | grep mw-clean
  • Logs: docker logs mw-clean-final

Integration in STORE2-System

Netzwerk-Konfiguration

  • Läuft parallel zu Apache (Port 443)
  • Keine BasicAuth-Konflikte
  • Direkter Port-Zugang ohne Proxy
  • Unabhängig von /data2-Mount (läuft auf Haupt-Partition)

Dienste-Integration

  • Läuft eigenständig ohne Abhängigkeiten zu anderen Store2-Services
  • Keine Apache-Proxy-Konfiguration erforderlich
  • Automatischer Docker-Start mit System

Sicherheit & Zugänge

Authentifizierung

  • Keine Apache-BasicAuth (direkter Port-Zugang)
  • MediaWiki-eigene Benutzerkonten
  • Admin-Account für Vollzugriff

Netzwerk-Sicherheit

  • Port 8088 HTTP-only (kein HTTPS konfiguriert)
  • Datenbank nicht extern exposed
  • Container-zu-Container Kommunikation über Docker-Netzwerk

MediaWiki Store2 ist vollständig eingerichtet, produktiv und backup-gesichert.

Alle ursprünglichen Inhalte aus dem 2010er System erfolgreich migriert.

YT4K System - Zusammenfassung

Server: STORE2 (Debian 13)

URL: http://dergagi.changeip.org:8443/

Status: Voll funktionsfähig

Aktuelle Konfiguration

Service: SystemD-managed yt4k.service

User: www-data:www-data

Port: 8443 (HTTP, Router-forwarded)

Processing: FFmpeg-basiert (3-8 Min pro Video)

Verzeichnisse:

  • Anwendung: /srv/yt4k/
  • Output: /data/Downloads/YT4K/ (gagi:www-data 775)
  • Temp: /tmp/yt4k/

Python-Umgebung

Virtual Env: /srv/yt4k/.venv

Python: 3.13.5

Packages: fastapi, uvicorn, yt-dlp, opencv, numpy

Processing-Pipeline

Aktiv: FFmpeg-basierte AI-Simulation

  • Lanczos-Interpolation
  • Noise Reduction
  • Color Enhancement
  • Unsharp Masking
  • H.264 Encoding (CRF 16-18)

Deaktiviert: Real-ESRGAN (zu langsam - Stunden pro Video)

API-Endpunkte

  • / - Web-Interface
  • /upload - Video-Processing
  • /status/{job_id} - Progress
  • /download/{filename} - Download
  • /health - System-Status

Service-Management

bash

systemctl start/stop/restart yt4k.service
journalctl -u yt4k.service -f
curl http://127.0.0.1:8443/health

Performance

Processing-Zeiten:

  • 480p→4K: 3-5 Min
  • 720p→4K: 5-8 Min
  • 1080p→4K: 8-12 Min

Output-Qualität: Hochwertige 4K-Videos (20-50MB typisch)

Troubleshooting

Emergency-Restart:

bash

systemctl restart yt4k.service
rm -rf /tmp/yt4k*

Häufige Probleme:

  • Job-Status hängt → Service restart
  • Permissions → chown www-data:www-data
  • Port nicht erreichbar → Router-Check

Das System ist stabil, produktionsbereit und nutzt bewährte FFmpeg-Technologie für schnelle, zuverlässige Video-Upscaling.

Nextcloud Konfiguration - STORE2

Datum: 01. September 2025

Status: Produktiv, vollständig funktionsfähig

System-Übersicht

Server: STORE2 (192.168.1.102)

OS: Debian 13

Container-System: Docker Compose

Reverse-Proxy: Traefik v3.5

Öffentliche URLs

  • Nextcloud (HTTPS): https://nc.dergagi9.duckdns.org:8444
  • Nextcloud (HTTP intern): http://192.168.1.102:8086
  • Traefik Dashboard: http://192.168.1.102:8082

Authentifizierung

Nextcloud Admin:

  • Benutzer: dergagi
  • Passwort: Store2@NC#2025

Datenbank (MariaDB):

  • Host: db (Docker-intern)
  • Datenbank: nextcloud
  • Benutzer: nextcloud
  • Passwort: Store2@NC#2025

SSL/TLS-Zertifikat

Typ: Let's Encrypt Wildcard-Zertifikat

Domain: *.dergagi9.duckdns.org

Gültigkeitsdauer: Bis 10. Oktober 2025

Issuer: Let's Encrypt (R11)

Speicherort: /srv/traefik/certificates/

Docker-Konfiguration

Traefik (Reverse Proxy)

  • Container: traefik-nc
  • Image: traefik:v3.5
  • Ports: 81→80, 8444→443, 8082→8080
  • Config: /srv/traefik/docker-compose.yml
  • Zertifikate: /srv/traefik/certificates/dynamic.yml

Nextcloud

  • Container: nextcloud-app
  • Image: nextcloud:31
  • Port: 8086→80 (HTTP intern)
  • Config: /srv/nextcloud/docker-compose.yml
  • Trusted Domains: nc.dergagi9.duckdns.org:8444

Datenbank

  • Container: nextcloud-db
  • Image: mariadb:10.11
  • Port: 3306 (nur intern)
  • Volume: nextcloud_db-data

Netzwerk-Konfiguration

Router-Portweiterleitung:

  • Port 81 → 192.168.1.102:81 (HTTP Challenge)
  • Port 8444 → 192.168.1.102:8444 (HTTPS Nextcloud)

DNS:

  • Provider: DuckDNS
  • Domain: nc.dergagi9.duckdns.org
  • IP: 91.65.237.120 (automatisches Update aktiv)

Sicherheit

  • HTTPS-Only (Port 8444)
  • Let's Encrypt-Zertifikat (vertrauenswürdig)
  • Apache Store2-Website unberührt (Port 443)
  • Alle anderen Dienste isoliert

Wartung

Container neustarten:

bash

cd /srv/traefik && docker compose restart traefik-nc
cd /srv/nextcloud && docker compose restart

Zertifikat erneuern (vor Oktober 2025):

  • Neues Zertifikat von Let's Encrypt holen
  • In /srv/traefik/certificates/ ersetzen
  • Traefik neustarten

Datensicherung:

  • Volume: nextcloud_db-data (Datenbank)
  • Volume: nextcloud_nextcloud-data (Dateien)

Integration

Unberührte Dienste:

  • Store2-Website (Apache Port 443)
  • MediaWiki (Port 8088)
  • YT4K (Port 8443)
  • HomeBox (Port 3100)
  • Alle anderen bestehenden Dienste

Besonderheiten:

  • Kein Konflikt mit Apache
  • Rate Limit-Problem durch Wildcard-Zertifikat umgangen
  • Automatische DNS-Updates durch DuckDNS

Grafana Konfiguration - Dokumentation

  • Zugang:
    • URL: http://dergagi.changeip.org:3030
    • Login: admin / QgdQh9ksJraVHL
    • Status: Vollständig funktional Container-Setup:
    • Container: internet-monitoring-grafana-1
    • Port: 3030 (extern) → 3000 (intern)
    • Docker-Compose: /home/gagi/internet-monitoring/docker-compose.yml
    • Netzwerke: internet-monitoring_front-tier, internet-monitoring_back-tier Datenquellen:
    • Prometheus (monitor-net): PC443BC7917172FDB (Standard, funktional)
    • prometheus: P1809F7CD0C75ACF3 (Alternative)
    • Verbindung: http://prometheus:9090 Aktive Dashboards:
    • Speedtest-Exporter Dashboard: ID -fs18ztMz, zeigt 935 Mb/s Down, 53.6 Mb/s Up
    • Node Exporter Full: System-Ressourcen (CPU, RAM, Disk-Usage) Daten-Persistierung:
    • Datenbank: /var/lib/docker/volumes/internet-monitoring_grafana_data/_data/grafana.db
    • Provisioning: /home/gagi/internet-monitoring/grafana/provisioning/ Speedtest-Integration:
    • Exporter: jraviles/prometheus_speedtest (stabil, aktiv maintained)
    • Container: prometheus-speedtest auf Port 9798
    • Metriken: download_speed_bps, upload_speed_bps, ping_ms Letzte Wiederherstellung: 03.09.2025, DB aus /mnt/nvme_backup/daily.2

HomeBox Konfiguration - STORE2

Datum: 03. September 2025

Status: Produktiv, vollständig funktionsfähig

System-Übersicht

  • Server: STORE2 (192.168.1.102)
  • OS: Debian 13
  • Container-System: Docker (Standalone)
  • Öffentliche URL: http://dergagi.changeip.org:3100

Authentifizierung

  • Benutzer: daniel.gareis@gmail.com
  • Passwort: Q6Zv&*YsmDBN3e
  • Login-URL: http://dergagi.changeip.org:3100/login

Docker-Konfiguration

  • Container-Name: homebox
  • Image: ghcr.io/hay-kot/homebox:latest
  • Port-Mapping: 3100:7745
  • Volume: /srv/homebox:/data
  • Restart-Policy: unless-stopped

Container-Management

bash

docker ps | grep homebox
docker stop/start homebox
docker logs homebox --tail 20

Datenbank

  • Hauptdatenbank: /srv/homebox/homebox.db (192KB)
  • WAL-File: /srv/homebox/homebox.db-wal (424KB)
  • Letztes Update: 31. August 2025

Backup & Restore

bash

# Backup
cp -r /srv/homebox /root/homebox-backup-$(date +%Y%m%d-%H%M%S)

# Restore (bei Problemen)
docker stop homebox
rsync -av /mnt/nvme_backup/daily.0/opt/homebox/data/ /srv/homebox/
docker start homebox

Runterfahren über Konsole

umount /data
umount /data2

Falls blockiert, nachschauen wer darauf zugreift mittels

lsof /data 
kill "processid"
shutdown -h now

Webzugang von Außen

in /srv/www/htdocs .htaccess

darin nur den genutzten IPs Zugang erlauben.

Neuer Webuser

htdigest2 /srv/www/.htdigest Store gagihawaii

Webseite verändern

in /srv/www/htdocs/index.template verändern/anpassen

bzw. in /usr/local/bin/update_http.sh Parameter optimieren

dann

/usr/local/bin/update_http.sh

Store-Webseite ändern

Script unter

/usr/local/bin/update_http.sh

Definierte Inhalte unter

/var/www/html/index.template

Generierte Website selbst unter

/var/www/html/index.html

Router

Fritzbox (als Modem)

192.168.178.1

Hitron Kabelmodem (als Modem im Bridge-Mode)

192.168.100.1

TP-Link TL-WR1043ND (als Router und WLAN-AP) und alle späteren Router

192.168.1.1