Da jeg var træt af min (gamle) ReadyNAS stod i vores bryggers og brølede, samt risikoen for at selve NAS Casingen skulle forgå, måtte der ske noget.
Kravet var:
Så jeg skannede markedet og Facebook grupper for snedige løsninger, der var ikke så mange - ud over en anden NAS eller en hjemmeserver.
Af software til hjemmeserveren var Plex, UMS og et par andre - alle rimelige interessante. Men Plex kørte jeg allerede på min MacMini med NAS som mounted Volume(s), så det var oplagt.
At køre på den Mac man roder, programmerer og blogger på er bare upraktisk, den skal bootes, og den hænger eller bruger 100% CPU, så Plex og streamede film hakker. At det så er en Mac gør det ikke nemmere, da alle filer er placeret underlige iforhold til Linux.
Så valget blev et Rasberry Pi starter kit med Plex og Samba, men da vi havde en ASUS Laptop i overskud, blev det den der blev valget - med en 4T LaCie Disk på, leveret af El-Mutanten.
Installation af Ubuntu 18.04 Server LTS (der var her lidt overvejelser om GUI ville være praktisk at have, men det blev fravalgt).
Undersøge hvor meget LORT der ikke behøver køre, selv i en server, det pisser mig lidt af at en Ubuntu server faktisk ikke er mere barebone idag Det er under overvejelse at skifte til andet Linux OS. Der er helt sikkert mere der kan fjernes...
Her kan kørende services ses (og stoppes):
root@robin:~# service --status-all [ - ] acpid [ + ] apparmor [ + ] apport [ + ] atd [ - ] console-setup.sh [ + ] cron [ - ] cryptdisks [ - ] cryptdisks-early [ + ] dbus [ + ] ebtables [ + ] grub-common [ - ] hwclock.sh [ + ] irqbalance [ + ] iscsid [ - ] keyboard-setup.sh [ - ] kmod [ - ] lvm2 [ + ] lvm2-lvmetad [ + ] lvm2-lvmpolld [ - ] lxcfs [ - ] lxd [ - ] mdadm [ - ] mdadm-waitidle [ - ] open-iscsi [ - ] open-vm-tools [ - ] plymouth [ - ] plymouth-log [ + ] procps [ - ] rsync [ + ] rsyslog [ - ] screen-cleanup [ + ] ssh [ + ] udev [ + ] ufw [ + ] unattended-upgrades [ + ] uuidd |
Cloudinit, lxcfs, ufw og apparmor behøver vi vist ikke - noget fjerner vi, noget disabler jeg bare:
apt-get remove cloudinit apt-get remove lxcfs sudo service ufw stop sudo systemctl disable ufw sudo service apparmor stop sudo systemctl disable apparmor |
Set tiden til Copenhagen (Det er default UTC):
rm /etc/localtime ln -s /usr/share/zoneinfo/Europe/Copenhagen /etc/localtime |
Der blev sat statisk IP adresse i min Eniig Router til 10.0.0.150 - og lavet DNS (GratisDNS).
host robin.mos-eisley.dk robin.mos-eisley.dk has address 10.0.0.150 |
I /etc/systemd/logind.conf blev der fixet, så den ikke slukker eller går i dvale når låget lukkes.
HandleLidSwitch=ignore |
Så kom LaCie USB disken på, den blev desværre ikke auto-mountet, så der var lidt udfordinger med at finde devicen /dev/sdb2 og få den formateret med ext4.
Da Plex og Samba jo ser efter filerne samme sted altid når det er sat op, er det vigtigt at den altid mountes korrekt i /mnt/LaCie.
Derfor køres:
sudo blkid |
giver:
/dev/sdb1: UUID="4672-9221" TYPE="vfat" PARTUUID="3f7f6ee9-e7e5-43ab-9cd1-6e8ce4a6cff4" /dev/sdb2: UUID="e67f67e0-a300-11e8-8a8a-38d547ce65f9" TYPE="ext4" PARTUUID="22c64b77-021a-46a8-a540-d8336136b744" /dev/sda1: LABEL="EFI" UUID="5F66-17ED" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="0e87c814-26a3-423e-b959-e326e2ece71f" /dev/sda2: UUID="7ec6419f-0241-439c-aa6e-93a83f04b5e4" TYPE="ext4" PARTUUID="43ba69a0-38d3-e749-ab97-86931c7336c4" /dev/loop0: TYPE="squashfs" /dev/loop2: TYPE="squashfs" /dev/loop3: TYPE="squashfs" |
Dette giver et ID på USB Disken til /etc/fstab (EFI er laptoppens boot-device, derfor er /dev/sda i dette tilfælde den indbyggede disk):
UUID=e67f67e0-a300-11e8-8a8a-38d547ce65f9 / ext4 defaults 0 0 UUID=4672-9221 /boot/efi vfat defaults 0 0 /swap.img none swap sw 0 0 UUID=7ec6419f-0241-439c-aa6e-93a83f04b5e4 /mnt/LaCie ext4 defaults 0 0 |
En lille underlighed her er at forsøger man at starte laptoppen unden USB disken, bruger den 1 min 30 sec på at forsøge at mounte den, hvorefter den stopper og vil gå i recovery mode. Der må være nogle options der kan forhindre det sidste.... |
Derefter fik jeg mounted den gamle NAS og kopieret alle filer til /mnt/LaCie/nas.
mkdir /mnt/nas/ mount -t cifs //10.0.0.100/nas /mnt/nas/ -o vers=1.0 cp -Rv /mnt/nas/* /mnt/LaCie/nas |
Dette tog lang tid, men alternativet som "scp" taget meget længere. Bemærk vers=1.0 - dette er SMB version 1, åbentbart understøtter min NAS ikke version 2 eller 3.
Kopiering bør foretages over kabel, ellers vil det tage meget, meget længere tid.
Den hentes fra https://www.plex.tv/media-server-downloads/ og installereres enten traditionelt:
dpkg -i plexmediaserver_1.13.5.5332-21ab172de_amd64.deb |
eller via docker - resten af artiklen dækker Plex i docker (se mere på https://hub.docker.com/r/plexinc/pms-docker/):
apt-get install docker.io docker run \ -d \ --name plex \ --network=host \ --restart always \ -e TZ="Europe/Copenhagen" \ -e PLEX_CLAIM="claim-_xxxxxxxxx" \ -e PLEX_UID="1000" \ -e PLEX_GID="1000" \ -v /opt/plex/config:/config \ -v /opt/plex/temp:/transcode \ -v /opt/plex/data:/data \ plexinc/pms-docker |
PLEX_UID og PLEX_GUI er for min egen bruger "bnp" der er eneste bruger på laptoppen. Det kan findes i /etc/passwd PLEX_CLAIM findes ved at logge ind på https://www.plex.tv/claim og få et token |
og for at sætte data dir:
cd /opt/plex rmdir data ln -s /mnt/LaCie/nas/ data |
Så ser Plex ned på LaCie Disken
Derefter Port Forward i min Eniig Router til serveren port 32400
Så var Plex kørende:
docker stop plex docker rm plex sudo docker pull plexinc/pms-docker:latest docker run \ -d \ --name plex \ --network=host \ --restart always \ -e TZ="Europe/Copenhagen" \ -e PLEX_CLAIM="claim-_xxxxxxxxx" \ -e PLEX_UID="1000" \ -e PLEX_GID="1000" \ -v /opt/plex/config:/config \ -v /opt/plex/temp:/transcode \ -v /opt/plex/data:/data \ plexinc/pms-docker |
Så er plex opgraderet
apt-get install samba |
Redigering af /etc/samba/smb.conf (se mere på How to Create a Network Share Via Samba Via CLI (Command-line interface/Linux Terminal):
# Change this to the workgroup/NT-domain name your Samba server will part of workgroup = MOS-EISLEY [media] comment = Media files path = /mnt/LaCie/nas/media read only = yes browsable = yes guest ok = yes [public] comment = Public Files path = /mnt/LaCie/nas/public read only = no browsable = yes guest ok = yes |
Update 19-05-2019. Efter at have "leget" lidt med SMB, er jeg kommer frem til denne config pr. share, hvor jeg laver en bruger/gruppe pr. share og søger for at den kan styre dir + alle filer.
Brugerne skal så meldes i gruppen via /etc/group.
|
Reload config:
smbcontrol all reload-config |
Sæt samba brugers passwords:
sudo smbpasswd -a bnp |
Brugere kan altid ses med:
sudo pdbedit -L |
Derefter er der i store træk en KISS server kørende der kan bruges af alle devices og TV, enten via DLNA (kun inhouse på vores LAN, understøttes af TV og PS4) eller Plex (World wide) og filer kan hentes via SMB.
Skulle laptoppen dø, der er ikke mange timer i at sætte en Rasberry Pi eller andet op, og køre ovenstående, største issue er egentlig Plex konfigurationen, den kan med fordel backes up.
I store træk er SMB bare readonly, vi i familien deler de fleste ting via Google Drev, Google Keep og Google Photos osv. Det vil sikkert blive udviddet lidt, så min egen bruger for rettighed til at smide film, musik- og billedfiler op på Plex via SMB. Dette kræver dog lidt konfiguration af samba omkring brugere og grupper.
På iOS er Infuse et glimrende alternativ til Plex klienten.
På Apple TV4 bruger jeg også MrMC (en KODI / XBMC variant) til at afspille filer over SMB.
Plex Pass overvejes p.t.
NAS bliver nok sat i et datacenter til backup af film, musik og billeder (via rsync). Det skete så ikke, da den er død.