Mediabox
Op een oudere Mac mini heb ik een Linux omgeving ingericht met daarop de open source Proxmox hypervisor, waarin je virtuele machines (VMs) kan aanmaken en beheren. Daarop heb ik met wat hulp van mijn goede vriend Albert een omgeving ingericht voor het downloaden van series. Hieronder beschrijf ik hoe ik e.e.a. heb ingericht, wellicht inspireer of help ik daarmee anderen die met hetzelfde idee spelen.
In mijn setup draait het meeste in een VM waarin ik Docker draai, 1 deel niet omdat ik niet zo snel een Docker image voor kon vinden. Mijn media data bewaar en benader ik op/via een Synology NAS, ook daarvan beschrijf ik hoe ik dat heb gedaan.
Aanmaken virtuele machine:
- Download laatste Debian image: http://download.proxmox.com/images/system/
Opslaan in de Proxmox ISO installatie map: /var/lib/vz/template/cache/ - Maak een VM aan in Proxmox o.b.v. het bovenstaande Debian image
Ik zou minstens 4 Gb RAM en 2 cores kiezen, zodat het goed werkt.
Grafische omgeving is niet nodig, alleen basis systeem en SSH-server
SSH server is handig omdat je in een Quemu VM geen copy/paste kan gebruiken. Vanuit je shell kun je dan een ssh verbinding opzetten (met copy/paste). - Installeer Docker: https://www.linuxtechi.com/install-docker-engine-on-debian/
Controleer Docker run status met: systemctl status docker
Bij de installatie maak je een user aan, daaronder gaan straks de Docker containers draaien. - Installeer NFS common tools: apt-get install nfs-common -y
- Voor Docker commando's heb je root rechten nodig of lidmaatschap van de Docker group, wil je geen root gebruiken dan: adduser <user> docker
(opnieuw inloggen om dit te bewerkstelligen) - Je ip adress van je VM bepaal je met: ip addr
Dat is het adres waarop je apps straks gaan draaien.
Docker share en Synology NAS:
- Aanmaken van de Synology nfs shared folder
Mijn Synology share heet: nfsvmdata; op de VM gebruik ik map: /nfs/vmdata
Zie: https://acceptdefaults.com/2020/03/16/mounting-a-synology-share-in-ubuntu/ - Aanmaken gedeelde map op de VM: mkdir -p /nfs/vmdata
Zet map permissies: chmod -R 775 /nfs/vmdata
(Controleer permissies met: stat /nfs/vmdata)
(Testen of je schrijf permissie hebt: touch /nfs/vmdata) - Mount een permanente share op de VM (/nfs/vmdata):
Edit fstab: nano /etc/fstab
Share toevoegen: <Synology IP>:/volume1/nfsvmdata /nfs/vmdata nfs defaults 0 0
Reload fstab: systemctl daemon-reload - NB Als je niet onder root wil draaien, moet je de ownership goed zetten:
chown -R <user>:<user> /nfs/vmdata - Docker gebruikt "PGID" en "PUID" waarmee je bepaalt onder elke userid een Docker container draait, de eerste non-root user lijkt PGID/PUID "1000" te hebben, userid en groupid bepaal je in Debian met met commando: id
Denk na over gedeelde mappen tussen de media applicaties: als apps in een aparte container draaien moeten ze sommige mappen gemeenschappelijk hebben. Hierover is veel informatie, bijvoorbeeld: https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths. Ik heb zelf onderstaand simpel schema aangehouden. Let op: Na het aanmaken ook de rechten en de ownership goed zetten. Mappen onder /nfs/vmdata:
- downloads (gezamenlijke folder voor alle downloads)
- movies (voor films)
- tv (voor TV-series)
De mappen met de configuratie heb ik lokaal op de VM gehouden, omdat ik allemaal database locking errors kreeg. De combinatie van NFS met databases lijkt de oorzaak hiervan. In de mappen /vmconfig/sonarr, /vmconfig/bazarr en /vmconfig/transmission staat bij mij de configuratie.
Ophalen, installeren en starten van de apps:
- Ophalen van de apps via Docker:
sonarr: docker pull linuxserver/sonarr (TV-series)
bazarr: docker pull linuxserver/bazarr (Ondertiteling)
transmission: docker pull linuxserver/transmission (download van torrents) - Aanmaken en starten sonarr Docker container:
docker create --name=sonarr \
--restart=unless-stopped \
-v /vmconfig/sonarr:/config \
-v /nfs/vmdata/downloads:/downloads \
-v /nfs/vmdata/tv:/tv \
-e PGID=1000 -e PUID=1000 \
-p 8989:8989 \
linuxserver/sonarr
docker start sonarr - Aanmaken en startenbazarr Docker container:
docker create --name=bazarr \
--restart=unless-stopped \
-v /vmconfig/bazarr:/config \
-v /nfs/vmdata/downloads:/downloads \
-v /nfs/vmdata/tv:/tv \
-e PGID=1000 -e PUID=1000 \
-p 6767:6767 \
linuxserver/bazarr
dockwer start bazarr - Aanmaken en starten Transmission container:
docker create --name=transmission \
--restart=always \
-v /vmconfig/transmission:/transmission-config \
-v /nfs/vmdata/downloads:/downloads \
-e PGID=1000 -e PUID=1000 \-p 51413:51413 -p 51413:5 1413/udp-p 9091:9091 \
linuxserver/transmission
docker start transmission - Installeren Prowlarr (indexer management voor sonarr) op de VM
Vanuit het installatie script: https://wiki.servarr.com/install-script
Prowlarr draait op poort: 9696
Starten van de apps doe je door met je browser de betreffende app poort op je VM te openen, dus 8989 voor sonarr, 6767 voor bazarr, 9091 voor transmission en 9696 voor prowlarr. Daarna configureer je de apps, je kunt de indexer bij sonarr weglaten. In plaats daarvan configureer sonarr als app in de prowlar settings.
Configuratie guides zijn o.a. te vinden op: https://wiki.servarr.com
Zoals sonarr en bazarr zijn er nog meer apps, zoals radarr (voor films) readarr (voor boeken) en lidarr (voor muziek), die kun je op dezelfde manier in Docker aanmaken als hiervoor dus veel plezier!