SSD Nodes Learn Hosting plans →
Mwongozo Matt ConnorNa Matt Connor

Jinsi ya kuweka Prowlarr, Sonarr na Radarr kwenye Docker

Jifunze kuendesha Prowlarr, Sonarr, Radarr na qBittorrent kwenye faili moja ya Docker Compose. Pata usanidi sahihi wa PUID, PGID na volume ili kuruhusu hardlinks kufanya kazi.

Unachojenga

Stack ya Docker Compose ya arr ina containers nne zinazosimamia maktaba ya media: Prowlarr kwa ajili ya mipangilio ya indexer, Sonarr kwa ajili ya mfululizo wa vipindi (series), Radarr kwa ajili ya filamu, na qBittorrent kama mteja wa kupakua. Zinawasiliana kupitia mtandao wa Compose kwa kutumia jina la huduma, na zinashiriki mti mmoja wa folda kwenye host. Usakinishaji ni mfupi. Sehemu inayoamua kama stack itafanya kazi kwa miaka mingi au kukusumbua kila wiki ni mpangilio wa volume, kwa hivyo sehemu kubwa ya mwongozo huu inahusu hilo.

Stack hii haikutafutii maudhui. Prowlarr huhifadhi indexer zozote unazoongeza humo, na ni indexer zipi unazotumia ni uamuzi wako na wajibu wako wa kisheria. Mwongozo huu unashughulikia mfumo wa uunganishaji: watumiaji, njia (paths), ruhusa, mtandao wa container, na ukaguzi unaothibitisha kuwa inafanya kazi.

Ikiwa hujawahi kuandika faili ya Compose, soma misingi ya Docker Compose kwa VPS kwanza. Chapisho hili linachukulia kuwa docker compose version tayari inachapisha kitu kwenye seva yako. Tumia Docker Engine 28.0.0 au mpya zaidi: matoleo ya zamani huruhusu host kwenye sehemu ileile ya mtandao wa ndani kufikia port zilizochapishwa kwenye localhost.

Wakati Sonarr inapomaliza kupakua faili, huhamishia faili hiyo kwenye maktaba yako. Ikiwa folda ya vipakuliwa na folda ya maktaba zipo kwenye filesystem moja na hardlinking imewezeshwa, Sonarr hujaribu kutengeneza hardlink: jina la pili linaloelekeza kwenye data ileile iliyopo kwenye diski. Hii haitumii nafasi ya ziada wala muda. Torrent huendelea kuseed kutoka kwenye jina la zamani wakati seva yako ya media ikisoma kutoka kwenye jina jipya.

Ikiwa folda hizo mbili zipo kwenye filesystem tofauti, kernel haiwezi kutengeneza link hiyo. Sonarr hurejea kwenye kunakili faili (copy). Msimu wa vipindi wenye ukubwa wa 40 GB sasa utachukua 80 GB ya diski na dakika kadhaa za input na output. Sonarr huandika hitilafu za cross-filesystem hardlink kwenye kiwango cha Trace na hitilafu nyingine za hardlink kwenye kiwango cha Debug, kwa hivyo logi za kawaida hazihakikishi ujumbe wa hitilafu. Kwenye VPS yenye nafasi ndogo ya diski, hivi ndivyo watu wanavyomaliza nafasi ya diski ndani ya wiki moja.

Hapa ndipo mtego ulipo. Ndani ya container, bind mount ni mpaka wa filesystem. Ukimount /mnt/data/torrents kama /downloads na /mnt/data/media kama /tv, hata kama zote zipo kwenye diski moja ya host, Sonarr huona mount mbili tofauti na haiwezi kutengeneza hardlink kati yao. Nyaraka rasmi za image ya LinuxServer.io zinasema hivi moja kwa moja: kutumia njia tofauti za /downloads na /tv kunapoteza uwezo wa kutumia hardlink.

Suluhisho ni mount moja. Kila container inayohusika na media hupata volume moja ileile, /mnt/data:/data, na kila njia wanayotumia ni folda iliyo ndani yake. Sehemu moja ya mount, filesystem moja, hardlinks zinafanya kazi.

Unda mtumiaji, kikundi, na folda

Container huandika faili kama kitambulisho cha mtumiaji (numeric user id), kilichowekwa na PUID na PGID. Tumia akaunti yako mwenyewe ili uweze kusoma na kuhariri faili hizo kupitia SSH bila sudo.

id -u
id -g

Zote mbili kwa kawaida huchapisha 1000 kwenye Ubuntu VPS mpya. Sasa jenga muundo wa folda (tree). Iweke kwenye diski yoyote inayohifadhi media zako, na uhifadhi muundo mzima kwenye diski hiyo moja.

sudo mkdir -p /mnt/data/torrents/movies /mnt/data/torrents/tv
sudo mkdir -p /mnt/data/media/Movies /mnt/data/media/Shows
sudo chown -R 1000:1000 /mnt/data
sudo chmod -R 775 /mnt/data

Thibitisha kuwa kwa kweli ni mfumo mmoja wa faili (filesystem) kabla ya kuendelea:

df --output=source,target /mnt/data/torrents /mnt/data/media

Mistari yote miwili lazima ionyeshe kifaa kilekile cha chanzo (source device). Vifaa viwili tofauti vinamaanisha kuwa hardlinks hazitafanya kazi kamwe, bila kujali unachoweka kwenye usanidi wa container.

Folda za maktaba zimepewa majina ya Movies na Shows kwa makusudi. Ikiwa tayari unaendesha Jellyfin kama seva yako ya media, mount /mnt/data/media ndani ya Jellyfin kama /media na maktaba zake zitatua kwenye /media/Movies na /media/Shows, mahali hasa ambapo mwongozo huo unaziweka.

Faili la mazingira

Weka thamani zinazobadilika kulingana na seva katika .env, karibu na faili la Compose.

mkdir -p ~/arr && cd ~/arr

Andika ~/arr/.env:

PUID=1000
PGID=1000
TZ=Etc/UTC
DATA_ROOT=/mnt/data

Weka TZ kwenye eneo lako la saa, kama vile Europe/Berlin. Programu za arr hupanga kazi na kuweka alama kwenye mistari ya logi kwa kutumia eneo hilo, kwa hivyo thamani isiyo sahihi hufanya kila logi kuwa na utata baadaye.

Faili la Compose

Andika ~/arr/docker-compose.yml:

services:
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ./config/prowlarr:/config
    ports:
      - 127.0.0.1:9696:9696
    restart: unless-stopped

  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ./config/sonarr:/config
      - ${DATA_ROOT}:/data
    ports:
      - 127.0.0.1:8989:8989
    restart: unless-stopped

  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ./config/radarr:/config
      - ${DATA_ROOT}:/data
    ports:
      - 127.0.0.1:7878:7878
    restart: unless-stopped

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
    volumes:
      - ./config/qbittorrent:/config
      - ${DATA_ROOT}:/data
    ports:
      - 127.0.0.1:8080:8080
      - 6881:6881
      - 6881:6881/udp
    stop_grace_period: "10s"
    restart: unless-stopped

Mambo manne katika faili hilo yanafanya kazi halisi.

${DATA_ROOT}:/data inafanana katika kontena tatu zinazogusa media. Prowlarr haipati sehemu hii, kwa sababu Prowlarr haifungui faili la media kamwe.

Kila port ya wavuti imefungwa kwenye 127.0.0.1, kwa hivyo Docker huichapisha kwenye anwani ya loopback pekee. 8989:8989 ya kawaida ingeichapisha kwenye kila interface, na sheria za firewall za Docker zingepeleka trafiki hiyo moja kwa moja kupita sheria ya ufw deny. Tabia hiyo huwashangaza watu mara kwa mara, na imeelezewa katika kwa nini Docker huchapisha ports moja kwa moja kupitia ufw.

Port 6881 imechapishwa kwenye interfaces zote kwa makusudi. Hiyo ndiyo port ya kusikiliza torrent, na lazima iweze kufikika kwa miunganisho ya wenza (peer connections) inayoingia. Tabia hiyo hiyo ya Docker inatumika hapa, kwa hivyo huhitaji sheria ya ufw kwa ajili yake, na kuongeza moja hakubadilishi chochote. Nyaraka za Docker, zilizokaguliwa mnamo Novemba 8, 2026, zinasema trafiki inayoelekea kwenye port iliyochapishwa huelekezwa kabla haijafika kwenye chains zinazotumiwa na ufw, kwa hivyo sudo ufw allow 6881 haina athari kwenye port hii. Docker huichapisha kwenye interfaces zote za host mara tu kontena linapoanza, na ufw deny haitaifunga pia. Ikiwa utahitaji kuzuia nani anaweza kuunganisha nayo, nyaraka za Docker zinaelekeza kwenye sheria katika chain yake ya DOCKER-USER na backend ya iptables ya kawaida; backend yake ya nftables badala yake inahitaji sheria katika jedwali tofauti la nftables. Tumia ufw kwa huduma ambazo hazifanyi kazi ndani ya Docker, kama vile SSH, na soma misingi ya firewall ya ufw kwa VPS ikiwa zana hiyo ni ngeni kwako.

Saraka za usanidi (config directories) ni tofauti kwa kila programu, na volume ya media pekee ndiyo inayoshirikiwa. Ziumbe kabla ya kuanza kwa mara ya kwanza ili ziwe na umiliki wa mtumiaji wako badala ya root:

mkdir -p ~/arr/config/prowlarr ~/arr/config/sonarr ~/arr/config/radarr ~/arr/config/qbittorrent
docker compose up -d
docker compose ps

Huduma zote nne zinapaswa kusoma running. Kufikia Novemba 8, 2026 images hizi zimechapishwa kwenye lscr.io na tag ya latest hufuata toleo la sasa la stable, kwa hivyo tumia tag ya toleo maalum ikiwa unataka upgrades ziwe uamuzi wako badala ya mshangao.

Fikia violesura vya wavuti kwa usalama

Violesura vya wavuti vimefungwa kwenye loopback. Viunganishe kupitia SSH kutoka kwenye mashine yako:

ssh -L 9696:127.0.0.1:9696 -L 8989:127.0.0.1:8989 \
    -L 7878:127.0.0.1:7878 -L 8080:127.0.0.1:8080 you@your-server

Sasa http://127.0.0.1:8989 kwenye kivinjari chako inafikia Sonarr kwenye seva. Kwa ufikiaji wa kudumu, weka stack hiyo nyuma ya Traefik yenye vyeti vya TLS kwa programu nyingi, au ufikie seva kupitia VPN ya WireGuard unayojiendeshea mwenyewe. Hata hivyo, VPN pekee haifikii port hizi. Nyaraka za Docker, zilizokaguliwa tarehe 8 Novemba 2026, zinasema kuwa kwa Docker Engine 28.0.0 au mpya zaidi na usanidi chaguo-msingi wa bridge, ni mwenyeji wa Docker pekee anayeweza kufikia port iliyochapishwa kwenye anwani ya localhost. Ili kutumia VPN, ama endelea kutumia SSH tunnel kupitia VPN hiyo, au badilisha bindings kwenye faili la Compose kutoka 127.0.0.1 kwenda kwenye anwani ya seva yenyewe kwenye interface ya VPN. Hakuna hata moja ya programu hizi inayopaswa kuwa kwenye mtandao wa umma ikiwa na ukurasa wake wa kuingia pekee kama kinga. Ikiwa utachagua njia ya reverse proxy na ungependa kuwa na akaunti moja kwa ajili ya violesura vyote vinne badala ya logins nne tofauti za programu za kufuatilia, Authentik inakupa uwezo wa single sign-on unaojiendeshea ambao Traefik inaweza kuutekeleza kwa kila ombi kwa kutumia forward auth. Sonarr na Radarr zina changamoto zao mbili zikiwa nyuma ya proxy, kwa hivyo kabla ya kuzielekeza kupitia Traefik, soma jinsi ya kuendesha Sonarr na Radarr nyuma ya reverse proxy kwa ajili ya maingizo ya Allowed Hosts yanayozuia makosa ya Invalid Hostname na sababu inayofanya /api lazima iruke login.

qBittorrent hutengeneza nenosiri la msimamizi la nasibu wakati wa kuanza kwa mara ya kwanza na kulichapisha kwenye log ya container. Lisome, kisha ulibadilishe kwenye kiolesura cha wavuti:

docker compose logs qbittorrent | grep -i password

Ukikosa kulibadilisha, nenosiri jipya la nasibu litatengenezwa kila wakati unapoanzisha upya, na utalazimika kurudi kwenye logs kila wakati.

Weka njia za faili ndani ya kila programu

Katika qBittorrent, fungua Options, kisha Downloads, na uweke njia ya kuhifadhi faili (default save path) kuwa /data/torrents. Weka folda ya vipakuliwa visivyokamilika (incomplete-downloads) ndani ya muundo huo huo, kama vile /data/torrents/incomplete. Kipakuliwa kinachomalizia nje ya /data hakiwezi kuunganishwa (hardlinked) kwenye maktaba kwa kutumia faili hili la Compose.

Katika Sonarr, fungua Settings, kisha Media Management, na uongeze folda kuu (root folder) ya /data/media/Shows. Katika Radarr, folda kuu ni /data/media/Movies. Hizi ni njia za faili ndani ya container. Njia ya faili ya mwenyeji (host path) ya /mnt/data/media/Shows itakataliwa, kwa sababu saraka hiyo haipo kwa mtazamo wa container.

Katika Sonarr na Radarr, fungua Settings, kisha Download Clients, na uongeze qBittorrent. Mwenyeji (host) ni qbittorrent na port ni 8080. Jina la huduma hufanya kazi kama hostname kwa sababu Compose huweka container zote nne kwenye mtandao mmoja wenye huduma ya ndani ya DNS (domain name system). Usitumie localhost hapa: ndani ya container ya Sonarr, localhost ni Sonarr yenyewe.

Acha sehemu ya Remote Path Mappings ikiwa wazi. Kipengele hicho kipo ili kutafsiri njia ya faili inayoripotiwa na mteja wa vipakuliwa (download client) kuwa njia ambayo programu ya arr inaweza kuiona. Kwa kutumia mount moja ya pamoja ya /data, container zote mbili tayari zinakubaliana kuhusu kila njia ya faili, ambayo ndiyo sababu ya pili kwa nini mpangilio huu unafaa juhudi.

Kuunganisha Prowlarr na Sonarr pamoja na Radarr

Prowlarr husukuma ufafanuzi wa indexer kwenye programu nyingine, hivyo unasanidi indexer mara moja badala ya mara mbili. Inahitaji API (application programming interface) key kutoka kwa kila programu.

Katika Sonarr, fungua Settings, kisha General, na unakili API key. Katika Prowlarr, fungua Settings, kisha Apps, ongeza programu ya Sonarr, na ujaze sehemu tatu. Prowlarr Server ni http://prowlarr:9696. Sonarr Server ni http://sonarr:8989. API Key ni thamani uliyoinakili. Bonyeza Test. Matokeo ya kijani yanamaanisha Prowlarr imefika Sonarr kupitia mtandao wa Compose. Rudia hatua hizi na Radarr kwenye http://radarr:7878.

Matokeo mekundu yanayoashiria kuwa muunganisho umekataliwa yanamaanisha kuwa muunganisho haujafika kwenye huduma inayolenga (listening service) katika anwani na port iliyosanidiwa. Thibitisha kuwa jina linatatuliwa (resolve) kutoka ndani ya container:

docker compose exec prowlarr curl -sS -o /dev/null -w '%{http_code}\n' http://sonarr:8989

HTTP status code inathibitisha kuwa njia ya mtandao ni nzuri. Hitilafu ya kutatua jina (name resolution error) inamaanisha kuwa jina la huduma halikutatuliwa; kagua tahajia yake na uhakikishe kuwa container zote mbili zinafanya kazi kwenye mtandao uleule wa Compose.

Usiuamini usanidi huu hadi uone idadi ya viungo (link count). Baada ya kipengee kimoja kuingizwa (import), linganisha faili iliyopakuliwa na faili iliyo kwenye maktaba:

stat -c '%i %h %n' /mnt/data/torrents/tv/*/*.mkv
stat -c '%i %h %n' /mnt/data/media/Shows/*/*/*.mkv

Namba ya kwanza ni inode na ya pili ni idadi ya viungo. Kwenye mfumo wa faili (filesystem) uleule, faili mbili ambazo ni hardlinks kwa kila mmoja huonyesha inode sawa na idadi ya viungo ya angalau 2; hardlinks za ziada huongeza idadi hiyo. Inode tofauti humaanisha kuwa faili hizo si hardlinks kwa kila mmoja, lakini haithibitishi kuwa jaribio la hardlink limeshindikana. Sonarr pia hunakili bila kujaribu hardlink wakati mpangilio wake wa hardlink umezimwa. Kushindwa kwa hardlink kuvuka mifumo tofauti ya faili (cross-filesystem) hurekodiwa kwenye kiwango cha Trace na hitilafu nyingine za hardlink kwenye kiwango cha Debug, kwa hivyo logi za kawaida za import hazitoi hakikisho la maelezo.

Fuatilia diski pia. df -h /mnt/data inapaswa kubadilika kidogo sana wakati import inapotokea, kwa sababu hardlink huongeza jina tu na si data.

Ni nini hasa kinachovunjika

Hitilafu za ruhusa wakati wa kuingiza data (import) inamaanisha kuwa kitambulisho cha mtumiaji (user id) cha container hakiwezi kuandika kwenye folda ya maktaba. Ujumbe huo ni Access to the path ... is denied. Hakikisha kwa kutumia ls -ln /mnt/data/media kuwa kitambulisho cha mmiliki kinalingana na PUID yako, na kumbuka kuwa saraka zinahitaji "execute bit" kabla ya container kuweza kuzifikia.

Saraka zinazomilikiwa na root zinaweza kutokea kwa kuanzisha container kabla ya saraka ya mwenyeji (host directory) kuwepo, kwa sababu Docker hutengeneza saraka za bind-mount zisizokuwepo. Simamisha stack, chown saraka hiyo, kisha uianzishe tena.

Kufuta torrent kutoka qBittorrent na kukuta faili ya maktaba imepotea kunahitaji kukagua ni njia (paths) zipi zilifutwa; kufuta faili iliyopakuliwa pekee hakufuti nakala tofauti ya maktaba au hardlink. Kwa kutumia hardlink halisi, kuondoa jina moja huliacha lingine likiwa salama, kwa sababu data huachiliwa tu wakati idadi ya viungo (link count) inapofika sifuri.

Diski kujaa haraka kuliko vyombo vya habari ulivyoongeza ni tatizo la kunakili (copy problem) katika hali yake ya gharama kubwa zaidi. Tekeleza ukaguzi wa stat hapo juu kabla ya kununua hifadhi zaidi.

Mahitaji ya stack hii kutoka kwa VPS

Programu tatu za arr ni nyepesi. Huchunguza indexers, huandika kwenye database ndogo ya SQLite, na kubadilisha majina ya faili. Mzigo wa kazi hutoka kwingine. Download client inaweza kujaza uwezo wa disk (I/O) wakati wa torrents kubwa, na media server inayofanya video transcoding kwenye mashine hiyo hiyo itatumia CPU. Hifadhi media kwenye volume yenye throughput ya kutosha, na weka kikomo cha bandwidth kwenye download client ikiwa seva inafanya kazi nyingine unayojali. Panga bajeti ya mambo hayo mengine kando badala ya kudhani kuwa kuna nafasi ya ziada: workspace ya AFFiNE inayojiendesha ni containers nyingine nne zenye database nyuma yake, na AFFiNE inapendekeza 2 GB ya RAM kwa matumizi ya kawaida na 4 GB kwa nyaraka zenye zaidi ya maneno 10,000. Kwa kitu chenye lengo moja kama kifuatiliaji cha mazoezi cha openGym kinachojiendesha, kipe TLS yake yenyewe na ujue mahali folder lake la data lilipo kabla ya kuliwekea historia ya mwaka mzima ya mazoezi. Kitu chochote kinachobeba web application, database ya Postgres na background worker queue kiko karibu na kiwango cha AFFiNE, kwa hivyo amua kama dawati la usaidizi la Chatwoot linalojiendesha linapaswa kuwa kwenye seva hii au peke yake kabla ya kugundua kikomo katikati ya import. Mzigo wa kazi wa ghafla (bursty workloads) unahitaji tahadhari zaidi, kwa sababu kilele chake badala ya wastani wake ndicho kinachogongana na import: ikiwa unafikiria OneCLI inayojiendesha inayompa kila mtu agent yake iliyotengwa, kagua namba zake za ukubwa zilizochapishwa dhidi ya kile ambacho kiko wazi wakati qBittorrent inafanya kazi kwa kasi kamili, si dhidi ya kile ambacho free -h inaonyesha kwenye mashine iliyo idle.

FAQ

Hii hutokea kwa sababu hardlinking imezimwa, au jaribio la kuunda hardlink limeshindikana, ikiwemo pale chanzo na lengo vinapokuwa kwenye mifumo tofauti ya faili (filesystems) kwa mtazamo wa container. Bind mounts mbili tofauti, kama vile /downloads na /tv, ni sehemu tofauti za mount hata kama zote zinatoka kwenye diski moja ya host, na hardlinks haziwezi kuvuka mipaka hiyo. Mount saraka moja kuu kama /data katika kila container, weka downloads na library ndani yake, na link itawezekana. Thibitisha matokeo kwa stat -c '%i %h %n' kwenye faili zote mbili: kwenye mfumo mmoja wa faili, lazima zionyeshe inode sawa na idadi ya link isiyopungua 2.

Ni PUID na PGID zipi ninapaswa kutumia?

Tumia namba ya kitambulisho (numeric id) ya akaunti ya host inayomiliki mti wa media, ambayo unaipata kupitia id -u na id -g. Kwenye VPS mpya ya Ubuntu, hii kwa kawaida ni 1000 kwa zote mbili. Kila container kwenye stack lazima itumie jozi sawa, vinginevyo programu moja itaandika faili ambazo nyingine haiwezi kuzirekebisha. Baada ya kubadilisha thamani hizo, tengeneza upya containers kwa docker compose up -d --force-recreate na urekebishe faili zilizopo kwa chown -R.

Je, ninahitaji kufungua interfaces hizi za wavuti kwenye Internet?

Hapana, na hupaswi kufanya hivyo. Funga kila port iliyochapishwa (published port) kwenye 127.0.0.1 katika faili ya Compose, kisha fikia interfaces hizo kupitia SSH tunnel au kupitia reverse proxy kwenye seva inayomalizia TLS (transport layer security) na kuongeza uthibitishaji wake yenyewe. Kwa Docker Engine 28.0.0 au mpya zaidi na usanidi wa kawaida wa bridge, VPN pekee haiwezi kufikia port iliyochapishwa kwenye 127.0.0.1, kwa sababu Docker hufanya port hiyo iliyochapishwa ifikike kutoka kwa host yenyewe pekee. Matoleo ya zamani ya Docker huruhusu hosts kwenye sehemu moja ya mtandao wa ndani kufikia ports zilizochapishwa kwenye localhost. Ikiwa unataka ufikiaji wa moja kwa moja kupitia VPN, chapisha ports kwenye anwani ya VPN ya seva badala yake. Kuzichapisha moja kwa moja kwenye interface ya umma ni hatari zaidi kuliko inavyoonekana, kwa sababu Docker huweka sheria zake za firewall na sheria ya ufw deny haitazuia trafiki hiyo.

Wapi ninaweza kupata nenosiri la qBittorrent?

Image ya LinuxServer.io huchapisha nenosiri la muda kwa mtumiaji wa admin kwenye log yake ya kuanza. Endesha docker compose logs qbittorrent | grep -i password ili kulisoma, kisha weka nenosiri la kudumu chini ya Options na Web UI. Nenosiri jipya la muda hutengenezwa kila unapoanzisha upya (restart) hadi pale utakapoweka lako mwenyewe.

Je, Jellyfin inaweza kutumia folda zilezile?

Ndiyo, na ndiyo lengo la mpangilio huu. Mount /mnt/data/media kwenye seva yako ya media kama /media, na library zake zitakaa kwenye /media/Movies na /media/Shows wakati Sonarr na Radarr wakiandika kwenye saraka zilezile kupitia /data/media. Ipe seva ya media PUID na PGID zilezile ili iweze kusoma kile ambacho stack ya arr inaandika.

Je, makala hii ilikusaidia?

#sonarr#radarr#prowlarr#docker-compose#self-hosting