Erweiterte Konfiguration
Für alles darüber hinaus, was in der Installation nicht abgedeckt ist.
Optional: PostgreSQL statt Dateispeicherung
Standardmäßig speichert CachePanel alles (Einstellungen, Download-Verlauf, Zeitplan, Panel-Login) als JSON-Dateien unter ./data — komplett ohne Konfiguration. Wer stattdessen eine echte Datenbank möchte, kann optional PostgreSQL aktivieren:
# In der .env:
DATABASE_URL=postgresql://cachepanel:changeme@postgres:5432/cachepanel# Der postgres-Service ist standardmäßig NICHT aktiv, extra starten mit:
docker compose --profile postgres up -dKein automatischer Umstieg
Ein Wechsel von Dateien auf Postgres startet mit leeren Tabellen — es gibt keine automatische Migration. Nach dem Umstieg musst du Einstellungen, Zeitplan und den Panel-Login neu einrichten. Die Verschlüsselung deiner Secrets bleibt dabei identisch (siehe Sicherheit) — nur das Speichermedium wechselt.
Nutze ein eigenes, starkes POSTGRES_PASSWORD in der .env statt des Platzhalters — der Datenbank-Port wird nicht nach außen freigegeben, ist also nur aus dem cachepanel-Container heraus erreichbar, ein schwaches Passwort ist aber trotzdem unnötiges Risiko.
Alle Umgebungsvariablen
Alle Variablen sind optional — CachePanel läuft ohne jede Konfiguration mit sinnvollen Standardwerten.
| Variable | Standard | Wofür |
|---|---|---|
STEAM_API_KEY | — | Fallback, falls du den Steam-API-Key lieber über die Container-Config statt über die Einstellungen-Seite setzen willst |
STEAM_ID64 | — | Gleiches Prinzip für die SteamID64 |
STEAM_PREFILL_CONFIG_DIR | /opt/stacks/steam-prefill/config | Nur ändern, falls dein steam-prefill-Tool woanders liegt |
BATTLENET_PREFILL_CONFIG_DIR | /opt/stacks/battlenet-prefill/config | Analog für Battle.net |
EPIC_PREFILL_CONFIG_DIR | /opt/stacks/epic-prefill/config | Analog für Epic |
LANCACHE_LOG_DIR | /mnt/lancache/logs | Pfad zu deinen LanCache-Access-Logs |
STEAM_PREFILL_CONTAINER | steam-prefill | Container-Name, falls abweichend vom Standard |
BATTLENET_PREFILL_CONTAINER | battlenet-prefill | Analog |
EPIC_PREFILL_CONTAINER | epic-prefill | Analog |
LANCACHE_IP | — | LAN-IP deines LanCache-Servers — aktiviert die DNS-/Erreichbarkeits-Diagnose (siehe Monitoring) |
DATABASE_URL | — | Siehe oben — aktiviert PostgreSQL statt Dateispeicherung |
Fertiges Docker-Image statt selbst bauen
Jeder Push auf den main-Branch des Repositories baut und veröffentlicht automatisch ein Image unter ghcr.io/syntaxlab-dev/cachepanel:latest. Statt build: . kannst du in der docker-compose.yml auch direkt
image: ghcr.io/syntaxlab-dev/cachepanel:latesteintragen und sparst dir den lokalen Build.