Streaming està Trencat V: Enllaços Durs i Permisos
Si saltes aquesta entrada i vas directament al següent capítol, el teu servidor funcionaria bé… durant una estona. Però després notaries l’inevitable: Has descarregat una pel·lícula de 50GB, però l’espai de disc consumit ha augmentat en 100GB.
De qui és la culpa? És la ineficiència del sistema de fitxers.
En aquesta entrada, resoldrem el major coll d’ampolla lògic del nostre servidor: la duplicació de dades. Implementarem la màgia dels Enllaços Durs i resoldrem qualsevol possible problema de permisos de Linux d’una vegada per totes.
Enllaços Durs
En una configuració amateur, el flux és així:
qBittorrentdescarrega la pel·lícula a/downloads.Radarr(que “adquirirà” les nostres pel·lícules) veu el fitxer, el copia a/movies, el reanomena perquè es vegi bé i el lliura aJellyfin.Resultat: Tens el fitxer brut (per sembrar torrents) i el fitxer net (per veure). La mateixa pel·lícula ocupa el doble d’espai.
El Cost: A més de consumir la meitat del teu SSD de 512GB, el procés de còpia (I/O) estressa la unitat i utilitza CPU innecessària.
Qui ve al nostre rescat en aquest escenari? Els Enllaços Durs!
Però què dimonis és això? Pensa en un fitxer al disc no com una “cosa”, sinó com una adreça numèrica que apunta a una ubicació física a l’SSD.
Un fitxer normal és un nom (
movie.mkv) que apunta a l’adreça 12345.Un Enllaç Dur és crear un segon nom (
renamed_movie.mkv) que apunta a la mateixa adreça.
Per al sistema operatiu, semblen dos fitxers diferents en carpetes diferents. Però ocupen l’espai físic de només un. Guai, oi? Si elimines un, l’altre encara existeix. L’espai només s’allibera quan s’elimina l’últim nom. En aquest nou escenari, què tenim? “Còpia” instantània (que triga uns mil·lisegons) i consum zero d’espai addicional.
Però com tot a la vida, hi ha un inconvenient. Els Enllaços Durs no funcionen entre diferents sistemes de fitxers.
A Docker, cada volum mapejat es tracta com un sistema de fitxers aïllat.
L’Error Comú:
Volum a
qBittorrent:/home/user/downloads->/downloadsVolum a
Radarr:/home/user/media->/moviesPer a
Radarr,/downloadsi/moviessón discs diferents. No pot crear un Enllaç Dur. Copiarà el fitxer. El mateix problema.
Resoldre això és senzill; mapejarem la carpeta arrel del nostre servidor a tots els contenidors.
Amfitrió:
/home/donkey/EmuleVisionContenidor (Tots):
/data
Dins del contenidor, qBittorrent descarrega a /data/downloads i Radarr el mou a /data/media. Com que tots dos estan dins del volum /data, Linux permet l’Enllaç Dur. La màgia succeeix.

Permisos de Fitxers
Linux és estricte amb la propietat. Si qBittorrent (com a Usuari A) descarrega un fitxer, Radarr (com a Usuari B) no pot modificar-lo o reanomenar-lo. Per descomptat, no resoldrem això executant chmod 777 (permís total insegur) a tot.
En lloc d’això, utilitzarem les variables d’entorn PUID (ID d’Usuari) i PGID (ID de Grup). Al nostre fitxer docker-compose.yml i .env, definim que tots els contenidors s’executin amb la identitat del teu usuari principal (1000).
Res de nou per als que ja treballen amb Linux, però sempre és bo recordar-ho per no perdre el temps més endavant.
Al proper capítol, parlarem finalment del nostre Docker Compose i de totes les eines d’infraestructura que utilitzarem al nostre servidor.
