fix(weitergabe): drei Luecken geschlossen, die einen Fremden gestolpert haetten
Ampel / ampel (push) Successful in 29s
Ampel / ampel (push) Successful in 29s
Weitergabe nicht durch Lesen geprueft, sondern indem ich mich wie ein fremder Rechner verhalten habe: frischer `git clone` von Gitea in ein leeres Verzeichnis, dann `./install.sh --nur-pruefen`. Ergebnis: 2,6 MB, alles gruen, Laufwerk samt richtigem sg-Knoten ueber die SCSI-Adresse erkannt. Der Weg selbst traegt. Drei Luecken sind dabei aufgefallen: 1. IN BEISPIELBEFEHLEN STAND MEINE IP. `install.ps1` und `remote-transcode-worker.yml` nannten im Aufruf-Beispiel 192.168.178.162 - also genau die Zeile, die ein Fremder kopiert. Jetzt Platzhalter, beim Windows-Installer mit dem Hinweis, wo die richtige IP steht (und dass es NICHT die des eigenen PCs ist - der haeufigste Irrtum). 2. DER ASSISTENT FRAGTE DEN MAKEMKV-BETA-KEY NICHT. Er stand in der README, in der .env und in den Einstellungen - nur nicht dort, wo man beim Einrichten hinsieht. Ein Fremder installiert also, legt eine Blu-ray ein und bekommt spaeter einen Fehlschlag, ohne dass ihn jemand darauf hingewiesen haette. Das ist die wahrscheinlichste Stolperstelle einer frischen Installation. Jetzt fragt der Assistent ihn ab, mit dem Unterschied im Klartext: DVDs gehen ohne, Blu-ray braucht ihn - und er ist NICHT der Disc-Schluessel einer 4K-Disc. 3. Eine Docstring nannte meine NAS-IP als Beispiel - jetzt neutral (//NAS/rippy). Tests und Log-Beispiele behalten die echten Namen: Sie dokumentieren Messungen, und genau das ist ihr Wert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
# mount -t cifs //NAS/rippy /mnt/rippy-freigabe -o guest,iocharset=utf8
|
# mount -t cifs //NAS/rippy /mnt/rippy-freigabe -o guest,iocharset=utf8
|
||||||
# 3. Unten RIPPY_HOST setzen, den Freigabe-Pfad im volumes-Block anpassen
|
# 3. Unten RIPPY_HOST setzen, den Freigabe-Pfad im volumes-Block anpassen
|
||||||
# und starten:
|
# und starten:
|
||||||
# RIPPY_HOST=192.168.178.162 docker compose \
|
# RIPPY_HOST=<LAN-IP-der-Rippy-Maschine> docker compose \
|
||||||
# -f deploy/remote-transcode-worker.yml up -d --build
|
# -f deploy/remote-transcode-worker.yml up -d --build
|
||||||
#
|
#
|
||||||
# Passt der Pfad im Container nicht (weil die Freigabe woanders hängt), gibt es
|
# Passt der Pfad im Container nicht (weil die Freigabe woanders hängt), gibt es
|
||||||
|
|||||||
@@ -13,7 +13,8 @@
|
|||||||
# weiterhin auf der Rippy-Hauptmaschine (dort hängt das Laufwerk).
|
# weiterhin auf der Rippy-Hauptmaschine (dort hängt das Laufwerk).
|
||||||
#
|
#
|
||||||
# Aufruf (PowerShell):
|
# Aufruf (PowerShell):
|
||||||
# .\install.ps1 -RippyHost 192.168.178.162 [-WorkerName mein-pc] [-Autostart]
|
# .\install.ps1 -RippyHost <LAN-IP-der-Rippy-Maschine> [-WorkerName mein-pc] [-Autostart]
|
||||||
|
# (die IP steht in Rippy unter Einstellungen -> Worker; NICHT die dieses PCs)
|
||||||
#
|
#
|
||||||
# -Autostart legt eine Verknüpfung im Autostart-Ordner an (Start bei Anmeldung).
|
# -Autostart legt eine Verknüpfung im Autostart-Ordner an (Start bei Anmeldung).
|
||||||
|
|
||||||
|
|||||||
@@ -263,8 +263,8 @@ def pfad_map_vorschlag(eintraege: list) -> list:
|
|||||||
dahin von niemandem gesetzt. Externes Encoden konnte also nie laufen.
|
dahin von niemandem gesetzt. Externes Encoden konnte also nie laufen.
|
||||||
|
|
||||||
Geraten werden muss dafür nichts: Rippy hat die Freigabe selbst
|
Geraten werden muss dafür nichts: Rippy hat die Freigabe selbst
|
||||||
eingehängt und kennt ihre Quelle (`//192.168.178.62/rippy`). Der
|
eingehängt und kennt ihre Quelle (z. B. `//NAS/rippy`). Der Mountpunkt ist
|
||||||
Mountpunkt ist `/app/media/<name>`, und beides zusammen IST das Mapping.
|
`/app/media/<name>`, und beides zusammen IST das Mapping.
|
||||||
"""
|
"""
|
||||||
vorschlaege = []
|
vorschlaege = []
|
||||||
for eintrag in eintraege or []:
|
for eintrag in eintraege or []:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
import { Disc, Cpu, Globe, Tv, CheckCircle, ArrowRight, HardDrive, AlertTriangle } from 'lucide-react'
|
import { Disc, Cpu, Globe, Tv, CheckCircle, ArrowRight, HardDrive, AlertTriangle, KeyRound } from 'lucide-react'
|
||||||
import { api } from '../lib/api'
|
import { api } from '../lib/api'
|
||||||
import { MEDIA_SERVER_OPTIONEN } from '../lib/mediaServer'
|
import { MEDIA_SERVER_OPTIONEN } from '../lib/mediaServer'
|
||||||
import { PRESET_KEINE, schwacheEncoderCpu } from '../lib/encoder'
|
import { PRESET_KEINE, schwacheEncoderCpu } from '../lib/encoder'
|
||||||
@@ -69,6 +69,9 @@ function presetsFuer(uebersicht: PresetUebersicht | null) {
|
|||||||
export default function FirstRunWizard({ onDone }: { onDone: () => void }) {
|
export default function FirstRunWizard({ onDone }: { onDone: () => void }) {
|
||||||
const [tmdbKey, setTmdbKey] = useState('')
|
const [tmdbKey, setTmdbKey] = useState('')
|
||||||
const [omdbKey, setOmdbKey] = useState('')
|
const [omdbKey, setOmdbKey] = useState('')
|
||||||
|
// MakeMKV-Beta-Key: Lizenz fuer die SOFTWARE (Blu-ray), nicht der
|
||||||
|
// Disc-Schluessel einer einzelnen 4K-Disc.
|
||||||
|
const [makemkvKey, setMakemkvKey] = useState('')
|
||||||
const [mediaServer, setMediaServer] = useState('jellyfin')
|
const [mediaServer, setMediaServer] = useState('jellyfin')
|
||||||
const [transcodeEnabled, setTranscodeEnabled] = useState(true)
|
const [transcodeEnabled, setTranscodeEnabled] = useState(true)
|
||||||
const [workers, setWorkers] = useState<WorkerInfo[]>([])
|
const [workers, setWorkers] = useState<WorkerInfo[]>([])
|
||||||
@@ -119,6 +122,7 @@ export default function FirstRunWizard({ onDone }: { onDone: () => void }) {
|
|||||||
...bestehende,
|
...bestehende,
|
||||||
...(tmdbKey.trim() ? { tmdbApiKey: tmdbKey.trim() } : {}),
|
...(tmdbKey.trim() ? { tmdbApiKey: tmdbKey.trim() } : {}),
|
||||||
...(omdbKey.trim() ? { omdbApiKey: omdbKey.trim() } : {}),
|
...(omdbKey.trim() ? { omdbApiKey: omdbKey.trim() } : {}),
|
||||||
|
...(makemkvKey.trim() ? { makemkvAppKey: makemkvKey.trim() } : {}),
|
||||||
mediaServer,
|
mediaServer,
|
||||||
transcodeEnabled,
|
transcodeEnabled,
|
||||||
...presets,
|
...presets,
|
||||||
@@ -243,6 +247,41 @@ export default function FirstRunWizard({ onDone }: { onDone: () => void }) {
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
{/* ---- MakeMKV-Beta-Key --------------------------------------- */}
|
||||||
|
{/*
|
||||||
|
Neu 26.07.2026, bei der Weitergabe-Prüfung aufgefallen: Der Key war
|
||||||
|
in der README, in der .env und in den Einstellungen zu finden — nur
|
||||||
|
NICHT hier. Ein Fremder installiert also, legt eine Blu-ray ein und
|
||||||
|
bekommt irgendwann einen Fehlschlag, ohne dass ihn beim Einrichten
|
||||||
|
jemand darauf hingewiesen hätte. Das ist die wahrscheinlichste
|
||||||
|
Stolperstelle einer frischen Installation.
|
||||||
|
*/}
|
||||||
|
<section>
|
||||||
|
<h2 className="flex items-center gap-2 text-lg font-semibold mb-3 text-slate-900 dark:text-slate-100">
|
||||||
|
<KeyRound size={18} className="text-amber-500" /> MakeMKV-Beta-Key
|
||||||
|
</h2>
|
||||||
|
<div className="space-y-3">
|
||||||
|
<Input
|
||||||
|
label="Beta-Key (für Blu-ray; DVDs gehen ohne)"
|
||||||
|
value={makemkvKey}
|
||||||
|
onChange={e => setMakemkvKey(e.target.value)}
|
||||||
|
placeholder="T-… — kostenlos im MakeMKV-Forum, Thread t=1053"
|
||||||
|
/>
|
||||||
|
<p className="text-xs text-slate-500 dark:text-slate-400">
|
||||||
|
MakeMKV ist für <strong>DVDs dauerhaft kostenlos</strong>. Für
|
||||||
|
<strong> Blu-ray und 4K</strong> braucht es den Beta-Key; ohne ihn läuft
|
||||||
|
eine 30-Tage-Probezeit, danach bricht jeder Blu-ray-Rip ab. Der Key ist
|
||||||
|
kostenlos, wechselt aber etwa monatlich — nachpflegen unter
|
||||||
|
Einstellungen → System, das wirkt sofort ab dem nächsten Rip, ohne
|
||||||
|
Neubau.
|
||||||
|
</p>
|
||||||
|
<p className="text-xs text-slate-500 dark:text-slate-400">
|
||||||
|
Nicht verwechseln mit dem <strong>Disc-Schlüssel</strong> einer einzelnen
|
||||||
|
4K-Disc — das ist eine andere Sache und steht unter Einstellungen → System.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
{/* ---- Media-Server ------------------------------------------- */}
|
{/* ---- Media-Server ------------------------------------------- */}
|
||||||
<section>
|
<section>
|
||||||
<h2 className="flex items-center gap-2 text-lg font-semibold mb-3 text-slate-900 dark:text-slate-100">
|
<h2 className="flex items-center gap-2 text-lg font-semibold mb-3 text-slate-900 dark:text-slate-100">
|
||||||
|
|||||||
Reference in New Issue
Block a user