Gå til indholdet

Hent og installér

Serveren leveres som et færdigt container-image. Du skal bruge Docker, en mappe til serverens data og en mappe med dine medier. Resten klarer en compose-fil på få minutter.

Hurtig start med Docker Compose

Vælg versionen, kopiér filen, ret to linjer og start. Det samme virker på de fleste Linux-maskiner og NAS med Docker. Særlige trin til din hardware står længere nede.

Kommer snart

Serverens container-image er ikke udgivet endnu, så der er intet at hente lige nu. Her kommer hurtig start, versioner og et færdigt eksempel, så snart den første version er ude. Guides til din hardware herunder kan læses allerede nu.

Versioner

Alle udgivelser med dato og ændringer. Prøveudgaver (rc) er skjult som standard, og latest peger aldrig på en prøveudgave.

Den første version er ikke udgivet endnu. Listen med versioner og ændringer dukker op her.

Systemkrav

Maskine
64-bit x86 (Intel eller AMD) eller 64-bit ARM (arm64). 32-bit systemer understøttes ikke.
Docker
Docker Engine 20.10 eller nyere med Compose v2, eller Docker Desktop. Podman er ikke afprøvet.
Hukommelse
Serveren bruger under 100 MB i hvile på et lille bibliotek. Regn med 1 GB ledigt, når der scannes og omkodes.
Plads
Imaget fylder omkring 650 MB udpakket. Data-mappen vokser med antallet af titler og billeder, og forhåndsvisninger og omkodning bruger midlertidig plads.
Netværk
Fast adresse til maskinen. TCP 8420 og UDP 7421 skal være åbne på det lokale netværk. mDNS (UDP 5353) bruges til opdagelse.
Medier
Enhver mappe, maskinen kan læse. Den monteres skrivebeskyttet, og serveren ændrer aldrig dine filer.
Omkodning
En lille NAS uden grafikkort kan afspille det meste direkte, men ikke omkode HEVC i 1080p. Se hardware-omkodning nedenfor.

Opdatér og rul tilbage

Serveren opdaterer aldrig sig selv. Administrationen siger til, når der findes en nyere version, og du opdaterer, når det passer dig.

  1. Tag en sikkerhedskopi under Backup i administrationen, eller kopiér data-mappen.
  2. Står der latest i compose-filen: kør de to kommandoer herunder. Bruger du en fast version, ret versionen i filen først.
  3. Databasen opgraderes automatisk ved opstart, og der gemmes en kopi under data/backups først.
  4. Tjek versionen under Overblik i administrationen, eller med kommandoen herunder.

Rul tilbage

Sæt den gamle version i compose-filen og kør kommandoerne igen. En server kan ikke åbne en database, der er opgraderet af en nyere version. Er databasen opgraderet, skal du først gendanne den sikkerhedskopi, du tog før opdateringen (Backup i administrationen, eller den kopi der ligger i data/backups).

Opdateringstjekket henter højst én gang i døgnet en lille fil fra denne side (/api/v1/releases/latest.json) og sammenligner kun versionsnummeret. Der sendes ingen oplysninger om dig eller dine medier, kun et User-Agent med din version. Du kan slå tjekket fra eller ændre adressen under Indstillinger.

Opdatér
docker compose pull
docker compose up -d
Rul tilbage til en bestemt version
# ret tagget i docker-compose.yml til den gamle version, fx
# image: ghcr.io/themsn/nielix:0.2.0
docker compose pull
docker compose up -d
Se hvilken version der kører
docker exec nielix nielix --version

Guides til din hardware

Hver guide har et færdigt eksempel og de trin, der er særlige for den platform. Alle bruger det samme image og de samme indstillinger: port 8420, data i /data, medier skrivebeskyttet i /media og host-netværk.

Eksemplerne bruger imaget ghcr.io/themsn/nielix, som først findes, når den første version er udgivet.

Afprøvet betyder, at udvikleren har kørt det selv. Ikke afprøvet betyder, at guiden er skrevet ud fra producentens dokumentation og ikke er prøvet på den hardware. Det kan afvige i detaljer, især menuernes navne, som skifter mellem versioner.

Docker Compose på Linux

Afprøvet? Afprøvet

Den enkleste vej. Virker på Debian, Ubuntu, Fedora og andre distributioner med Docker.

Afprøvet af udvikleren med Docker Compose på Linux.

  1. Installér Docker Engine med Compose-pluginet efter distributionens vejledning, eller med kommandoerne herunder på Debian og Ubuntu.
  2. Lav en mappe, fx /opt/nielix, og læg compose-filen i den. Data-mappen oprettes af Docker som root ved første start.
  3. Start med docker compose up -d og åbn administrationen på port 8420.
  4. Åbn portene i firewallen, hvis du har en: TCP 8420 og UDP 7421.
  5. Vil du ikke køre som root, kan du sætte user i compose-filen og give mappen til samme bruger (kommandoen herunder). Det er afprøvet.
  • Containeren skal bruge host-netværk. Uden det finder tv-appen ikke serveren af sig selv, og serveren skriver en advarsel i loggen.
  • Ligger mediefilerne på et netværksdrev, så monter det på værten først og peg compose-filen på mount-stedet.
docker-compose.yml
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - ./data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /sti/til/dine/medier:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped
Eller med docker run
docker run -d --name nielix --restart unless-stopped \
  --network host \
  -e TZ=Europe/Copenhagen \
  -e NIELIX_MEDIA_ROOTS=/media \
  -v "$PWD/data:/data" \
  -v /sti/til/dine/medier:/media:ro \
  ghcr.io/themsn/nielix:latest
Installér Docker (Debian, Ubuntu, Raspberry Pi OS)
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
# log ud og ind igen, så gruppen gælder
docker compose version
Åbn portene i en firewall (ufw)
sudo ufw allow 8420/tcp
sudo ufw allow 7421/udp
sudo ufw allow 5353/udp
Rettigheder til data-mappen
sudo chown -R 1000:1000 ./data
# og i docker-compose.yml:
#   user: "1000:1000"

Synology (DSM 7.2 og nyere)

Afprøvet? Delvist afprøvet

Container Manager er Synologys Docker. Ældre DSM (7.0 og 7.1) kalder pakken Docker, og trinene er de samme.

Delvist afprøvet: serveren er kørt som container med host-netværk og hardware-omkodning på en Intel-baseret Synology, startet fra kommandolinjen. Trinene i Container Manager er skrevet ud fra dokumentationen og ikke prøvet.

  1. Installér Container Manager i Pakkecenter.
  2. Lav mappen nielix/data i den delte mappe docker i File Station. Dine medier ligger i en anden delt mappe, fx video.
  3. Åbn Container Manager, Projekt, Opret. Giv projektet navnet nielix, vælg mappen docker/nielix som sti og "Opret docker-compose.yml". Indsæt eksemplet herunder.
  4. Ret stien til dine medier (fx /volume1/video) og tidszonen. Tryk Næste og Udfør, så hentes og startes containeren.
  5. Åbn TCP 8420 og UDP 7421 under Kontrolpanel, Sikkerhed, Firewall, hvis firewallen er slået til.
  6. Åbn http://<NAS-adresse>:8420/admin/ og følg guiden.
  • Host-netværk er påkrævet. I projekter står det som network_mode: host i filen. I Containers-guiden hedder valget "Brug samme netværk som Docker-værten".
  • Mapper: stierne på NAS-en starter med /volume1 (eller /volume2 osv.). Serveren kører som root i containeren, så den kan læse de fleste delte mapper. Får den adgang nægtet, så tjek mappens tilladelser og eventuelle ACL.
  • Hardware-omkodning virker kun på modeller med Intel-processor med indbygget grafik, hvor /dev/dri findes. Find render-gruppens gid med ls -ln /dev/dri og getent group, og sæt den under group_add (937 er et eksempel, ikke et løfte). Efter en DSM-opdatering kan rettighederne på /dev/dri være nulstillet, så tjek igen, hvis omkodning pludselig går tilbage til processoren.
  • Opdatér ved at åbne projektet og vælge Handling, Opbyg. Står imaget som latest, hentes det nyeste. Alternativt over SSH med docker compose pull og up -d.
  • DSM-faldgruber: tidszonen står som UTC, hvis TZ mangler. Containeren skal ligge på volumen med nok plads, og forhåndsvisninger kan fylde meget, hvis du slår dem til.
docker-compose.yml til Synology
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - /volume1/docker/nielix/data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /volume1/video:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped

QNAP (Container Station)

Afprøvet? Ikke afprøvet

Container Station 3 kan oprette et program direkte fra en compose-fil.

Ikke afprøvet på QNAP. Skrevet ud fra dokumentationen til Container Station 3.

  1. Installér Container Station fra App Center.
  2. Lav mappen Container/nielix/data i File Station (den delte mappe Container oprettes af Container Station).
  3. Åbn Container Station, Applikationer, Opret. Giv programmet navnet nielix og indsæt eksemplet herunder som YAML.
  4. Ret stien til dine medier (fx /share/Multimedia) og tidszonen. Tryk Opret.
  5. Åbn TCP 8420 og UDP 7421 i QTS-firewallen, hvis den er slået til, og åbn administrationen på port 8420.
  • Host-netværk: network_mode: host i filen giver containeren NAS-ens egen netværksadresse, så apps kan finde serveren.
  • Stierne starter med /share/ på QNAP. Mediemappen skal være læsbar for brugeren, der kører containeren.
  • Hardware-omkodning kræver en QNAP med Intel-processor med indbygget grafik. Giv containeren /dev/dri som vist under hardware-omkodning.
docker-compose.yml til QNAP
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - /share/Container/nielix/data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /share/Multimedia:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped

Unraid

Afprøvet? Ikke afprøvet

På Unraid sætter du containeren op med felterne i Docker-fanen. Har du pluginet Compose Manager, kan du bruge compose-filen i stedet.

Ikke afprøvet på Unraid. Skrevet ud fra Unraids dokumentation af Docker-fanen.

  1. Åbn fanen Docker og tryk Add Container.
  2. Name: nielix. Repository: ghcr.io/themsn/nielix:latest (eller en fast version). Network Type: Host.
  3. Tryk Add another Path, Port, Variable, Label or Device. Path: Container Path /data, Host Path /mnt/user/appdata/nielix, Access Mode Read/Write.
  4. Endnu en Path: Container Path /media, Host Path den share med dine medier (fx /mnt/user/media), Access Mode Read Only.
  5. Variable: TZ med din tidszone, og NIELIX_MEDIA_ROOTS med værdien /media.
  6. Tryk Apply. Slå Autostart til på containeren, og åbn administrationen på port 8420.
  • Hardware-omkodning: tilføj en Device med værdien /dev/dri, og sæt under Extra Parameters --group-add=<gid> med render-gruppens gruppe-id på din Unraid.
  • Opdatér med Check for Updates på Docker-fanen. En fast version opdaterer du ved at rette tagget i Repository.
  • Compose Manager: læg eksemplet herunder i en ny stak.
docker-compose.yml til Unraid (Compose Manager)
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - /mnt/user/appdata/nielix:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /mnt/user/media:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped

TrueNAS SCALE (brugerdefineret app)

Afprøvet? Ikke afprøvet

TrueNAS SCALE kan køre et docker-image som brugerdefineret app. Fra version 24.10 kan du indsætte en compose-fil direkte.

Ikke afprøvet på TrueNAS. Skrevet ud fra dokumentationen til brugerdefinerede apps. Menuerne skifter mellem udgaver.

  1. Lav et dataset til appens data (fx apps/nielix) og sørg for, at dit mediedataset kan læses.
  2. Åbn Apps, Discover Apps, Brugerdefineret app. Vælg "Installér via YAML" og indsæt eksemplet herunder.
  3. Ret stierne til dine datasets (/mnt/<pulje>/...) og tidszonen.
  4. Ældre udgaver har en formular i stedet: image ghcr.io/themsn/nielix, tag, "Host Network" slået til, to Host Path-lagre (/data læs og skriv, /media skrivebeskyttet) og miljøvariablerne fra eksemplet.
  5. Åbn TCP 8420 og UDP 7421, hvis du bruger en firewall, og åbn administrationen på port 8420.
  • Host-netværk er påkrævet for at tv-appen finder serveren af sig selv.
  • Rettigheder: containeren kører som root og læser mediedatasettet, hvis det ikke er låst til en bestemt bruger med en ACL, der udelukker root.
  • Grafikkort: giv appen et Intel- eller AMD-kort under Resources hvis din udgave tilbyder det. Se hardware-omkodning for indstillingerne.
YAML til en brugerdefineret app
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - /mnt/pulje/apps/nielix/data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /mnt/pulje/medier:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped

Raspberry Pi og andre ARM-maskiner

Afprøvet? Ikke afprøvet

Imaget findes til 64-bit ARM. Brug en Raspberry Pi 4 eller 5 med 64-bit Raspberry Pi OS (arm64). 32-bit systemer og Raspberry Pi Zero og 1 understøttes ikke.

Ikke afprøvet på en Raspberry Pi. ARM-imaget (arm64) er bygget, men ikke kørt på ægte ARM-hardware.

  1. Tjek at systemet er 64-bit: kommandoen uname -m skal sige aarch64.
  2. Installér Docker med kommandoerne herunder.
  3. Læg data-mappen på en SSD eller USB-disk, ikke på SD-kortet. Serverens database skriver ofte, og SD-kort slides op.
  4. Monter disken med dine medier fast i /etc/fstab, og peg compose-filen på mount-stedet.
  5. Start med docker compose up -d og åbn administrationen på port 8420.
  • Omkodning: en Raspberry Pi har ingen hardware-omkodning, der virker i Nielix, og processoren er for langsom til HEVC i 1080p. Brug direkte afspilning (apps og skærme, der kan afkode filerne selv). Sæt NIELIX_HWACCEL til none for at undgå forsøg.
  • Første scanning af et stort bibliotek tager lang tid på en Pi. Slå forhåndsvisninger fra, indtil scanningen er færdig.
  • Andre ARM-maskiner (fx en ARM-baseret NAS) følger samme guide, så længe de kører 64-bit Linux med Docker.
Installér Docker (Debian, Ubuntu, Raspberry Pi OS)
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
# log ud og ind igen, så gruppen gælder
docker compose version
docker-compose.yml til Raspberry Pi
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
      NIELIX_HWACCEL: none
    volumes:
      - /mnt/ssd/nielix/data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /mnt/medier:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped
Monter en ekstern disk med medier (eksempel)
lsblk -f    # find diskens UUID
sudo mkdir -p /mnt/medier
echo "UUID=<uuid>  /mnt/medier  ext4  defaults,nofail,ro  0  2" | sudo tee -a /etc/fstab
sudo mount -a

Proxmox (VM eller LXC med Docker)

Afprøvet? Ikke afprøvet

Den sikreste vej er en lille virtuel maskine med Debian eller Ubuntu og Docker. Vil du spare ressourcer, kan Docker køre i en LXC-container.

Ikke afprøvet på Proxmox. Skrevet ud fra Proxmox-dokumentationen. Docker i LXC er ikke en officielt anbefalet opsætning hos Proxmox.

  1. VM: opret en Debian- eller Ubuntu-VM med netværk på din bro (vmbr0), installér Docker som under Linux og brug compose-filen. VM-en får sin egen adresse på dit netværk, så host-netværk virker som på en rigtig maskine.
  2. LXC: opret en Debian- eller Ubuntu-container, slå Nesting og keyctl til under Features, og installér Docker i den. Brug en privilegeret container, hvis du vil have det enkelt, eller en uprivilegeret med de nødvendige indstillinger.
  3. Medier: gør medielageret tilgængeligt i LXC med et bind mount (mp0 i konfigurationen herunder, med ro=1), eller monter et netværksdrev i VM-en.
  4. Start med docker compose up -d, og åbn administrationen på port 8420.
  • Grafikkort til LXC: send /dev/dri/renderD128 ind med dev0 (se konfigurationen herunder) og sæt gid til render-gruppens id inde i containeren. Til en VM kræver det PCI-gennemstilling, som er en større opgave og afhænger af din hardware.
  • Tag et snapshot af VM-en eller LXC-containeren før en opdatering, ud over Nielix egen sikkerhedskopi.
docker-compose.yml i LXC eller VM
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - /opt/nielix/data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /media:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped
Tilføjelser i LXC-konfigurationen på Proxmox-værten
# /etc/pve/lxc/<id>.conf
features: nesting=1,keyctl=1
mp0: /mnt/medier,mp=/media,ro=1
# kun til hardware-omkodning: gid er render-gruppens id inde i containeren
dev0: /dev/dri/renderD128,gid=104

Windows (Docker Desktop)

Afprøvet? Ikke afprøvet

Fint til at prøve Nielix af eller til en maskine, der alligevel er tændt. Til døgndrift er en NAS eller en Linux-maskine bedre.

Ikke afprøvet på Windows. Skrevet ud fra dokumentationen til Docker Desktop.

  1. Installér Docker Desktop med WSL 2 som motor og start det.
  2. Lav en mappe og læg compose-filen i den. Eksemplet bruger et navngivet volume til data, fordi SQLite er langsom og skrøbelig på en Windows-mappe.
  3. Ret mediestien, fx C:/Users/dig/Videos. Brug skråstreg fremad. Mappen skal være delt med Docker under Settings, Resources, File sharing, hvis du bruger Hyper-V.
  4. Kør docker compose up -d i mappen, og tillad Docker i Windows-firewallen, når den spørger.
  5. Åbn http://localhost:8420/admin/. Fra andre enheder bruger du computerens adresse, og i tv-appen skriver du adressen med port 8420.
  • Host-netværk virker anderledes: på Docker Desktop kører containeren i en let virtuel maskine, så UDP-opdagelse (broadcast og mDNS) når ikke ud på dit netværk. Derfor bruger eksemplet portvideresendelse, og apperne skal have serverens adresse skrevet ind.
  • Der er ingen hardware-omkodning i Docker Desktop. Serveren bruger processoren.
  • Sæt Docker Desktop til at starte ved login, og juster strømstyringen, så computeren ikke går i dvale, mens nogen ser noget.
docker-compose.yml til Windows
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # uden host-netværk: apps finder ikke serveren af sig selv, skriv adressen i appen
    ports:
      - "8420:8420"
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - nielix-data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - C:/Users/dig/Videos:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped

volumes:
  nielix-data:

macOS (Docker Desktop)

Afprøvet? Ikke afprøvet

Virker på både Apple Silicon (bruger arm64-imaget) og Intel (amd64). Som på Windows er det mest til at prøve af.

Ikke afprøvet på macOS. Skrevet ud fra dokumentationen til Docker Desktop.

  1. Installér Docker Desktop for Mac og start det.
  2. Lav en mappe og læg compose-filen i den.
  3. Ret mediestien, fx /Users/dig/Movies. Giv Docker adgang til mappen under Settings, Resources, File sharing, og under Privatliv og sikkerhed i macOS, hvis mappen ligger i Dokumenter, Skrivebord eller på et eksternt drev.
  4. Kør docker compose up -d i mappen og åbn http://localhost:8420/admin/.
  5. Fra andre enheder bruger du Mac-ens adresse. Skriv den med port 8420 i tv-appen.
  • Host-netværk og automatisk opdagelse virker ikke som på Linux, af samme grund som på Windows. Brug portvideresendelsen i eksemplet.
  • Ingen hardware-omkodning. Apples grafikaccelerator bruges ikke af serveren.
  • Lad ikke Mac-en gå i dvale, mens serveren skal være tilgængelig.
docker-compose.yml til macOS
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # uden host-netværk: apps finder ikke serveren af sig selv, skriv adressen i appen
    ports:
      - "8420:8420"
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
    volumes:
      - nielix-data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /Users/dig/Movies:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    restart: unless-stopped

volumes:
  nielix-data:

Hardware-omkodning

Kan en enhed ikke afspille en fil direkte, omkoder serveren den til H.264 og AAC. Det er tungt for en processor. Serveren kan bruge grafikken gennem VAAPI (Intel og AMD), Intels QSV eller NVIDIAs NVENC, hvis containeren får lov. Ingen af dem er afprøvet på rigtig hardware af udvikleren undtagen VAAPI på en Intel-chip.

Intel (VAAPI eller QSV, indbygget grafik)

Delvist afprøvet

Giv containeren /dev/dri og render-gruppen. Imaget indeholder driverne iHD (Intel fra 8. generation) og i965 (ældre). Serveren vælger selv VAAPI eller QSV efter en testkodning ved opstart, og du kan vælge i administrationen. Afprøvet af udvikleren på en Intel J4125 med VAAPI og to samtidige strømme (HEVC og H.264). QSV er bygget og enhedstestet, men ikke afprøvet på rigtig hardware, og ikke alle Intel-generationer er prøvet.

AMD (VAAPI)

Ikke afprøvet

Samme opsætning som Intel. Imaget indeholder Mesa-driveren til AMD. Ikke afprøvet på AMD-hardware.

NVIDIA

Ikke afprøvet

Serveren kan omkode med NVENC, men det kræver NVIDIA Container Toolkit og en ffmpeg med NVENC-støtte: den ffmpeg, der følger med imaget, har ikke NVENC. Peg på din egen ffmpeg med NIELIX_FFMPEG. Bygget og enhedstestet, men ikke afprøvet på rigtig NVIDIA-hardware. Uden det bruger serveren processoren.

Sådan gør du

  1. Find ud af om maskinen har /dev/dri: kommandoen ls -l /dev/dri på værten viser card0 og renderD128, hvis den har.
  2. Find render-gruppens gruppe-id på værten: getent group render video. Tallet er forskelligt fra maskine til maskine.
  3. Brug eksemplet herunder: devices giver grafikkortet, group_add giver gruppen, og NIELIX_HWACCEL kan stå på auto.
  4. Tjek at grafikkortet ses i containeren med kommandoen herunder, og se under Sundhed i administrationen, at omkodning bruger hardware.

Det der ikke er understøttet

  • NVIDIA NVENC med den ffmpeg, der følger med imaget (den har ikke NVENC), og NVDEC.
  • Apples VideoToolbox (macOS) og grafik i Docker Desktop på Windows og macOS.
  • Hardware-kodere på Raspberry Pi og andre ARM-chips (V4L2 og lignende).
  • AMD AMF som egen metode. AMD bruges kun gennem VAAPI.
  • Synology- og QNAP-modeller uden Intel-grafik (fx med ARM-processor), da de ikke har /dev/dri.
docker-compose.yml med Intel eller AMD til omkodning
services:
  nielix:
    image: ghcr.io/themsn/nielix:latest
    container_name: nielix
    # host-netværk, så apps kan finde serveren af sig selv
    network_mode: host
    environment:
      TZ: Europe/Copenhagen   # RET: din tidszone
      NIELIX_ADDR: ":8420"
      NIELIX_NAME: Nielix   # navnet enhederne ser
      NIELIX_MEDIA_ROOTS: /media
      NIELIX_HWACCEL: auto
    volumes:
      - ./data:/data   # database, billeder og sikkerhedskopier: tag backup af den mappe
      - /sti/til/dine/medier:/media:ro   # RET: mappen med dine film og serier (:ro = skrivebeskyttet)
    devices:
      - /dev/dri:/dev/dri
    group_add:
      - "937"   # RET: gruppe-id for render-gruppen på værten (getent group render video)
    restart: unless-stopped
Tjek at grafikkortet ses i containeren
docker exec nielix vainfo --display drm --device /dev/dri/renderD128

Android TV-appen

Appen til Android TV er den, du ser Nielix i. Den finder serveren af sig selv på dit netværk, eller du skriver serverens adresse med port 8420.

Google Play: appen udgives på Google Play, når den er klar. Den er ikke udgivet endnu, og denne side får et link, når den er.

Manuel installation (adb)

En signeret APK til manuel installation kan ikke lægges offentligt op endnu. Har du fået en APK af os, installerer du den fra en computer på samme netværk som tv-boksen:

  1. Slå udviklerindstillinger til på tv-boksen (Indstillinger, Om, tryk på Build-nummer syv gange) og slå Netværks-debugging eller ADB-debugging til.
  2. Forbind: adb connect <tv-boksens adresse>:5555
  3. Installér: adb install nielix.apk

Åbent punkt: en offentlig APK-download er endnu ikke sat op.