MasterpieceDockerCompose/jellyfin/README.md
2021-05-17 16:52:55 +02:00

4.2 KiB

Jellyfin in docker

Descrizione

Jellyfin è un server per la gestione di film, serie tv e musica:

  • Interfaccia web personalizzabile tramite CSS
  • Possibilità di organizzare i vostri file in collezioni
  • Possibilità di modificare e importare i metadati locali, integrati e tramite servizi esterni (IMDb, OMDb, TvDB, etc)
  • Multiutente, con possiblità di gestire l'accesso alle librerie (anche singolarmente)
  • Client ufficiali (e non) multi-piattaforma
  • Transcodifica hardware

Struttura file e cartelle

/home/
└── ~/
    └── docker/
        └── jellyfin/
            ├── config/
            ├── data/
            ├── .env
            └── docker-compose.yml
  • config/ - cartella dove risiedono i dati che servono a jellyfin
  • data/ - cartella dove vanno messi i film/serie tv/musica
  • .env - file contenenti le variabili environment per il docker compose
  • docker-compose.yml - file usato per creare il container

Tutti i file e le cartelle devono essere creati a mano.

docker-compose

docker-compose.yml

version: "3"
services:
  jellyfin:
    container_name: linuxserver-jellyfin
    image: ghcr.io/linuxserver/jellyfin
    restart: unless-stopped
    ports:
      - ${JELLYFIN_WEBUI_PORT:-8096}:8096
      - ${JELLYFIN_CLT_DSC_PORT:-7359}/udp:7359/udp # opzionale, servizio discovery per i client
      - ${JELLYFIN_SVC_DSC_PORT:-1900}/udp:1900/udp # opzionale, servizio DLNA
    env_file: .env
    volumes:
      - ${JELLYFIN_CONFIG:-/home/docker/jellyfin/config}:/config
      - ${JELLYFIN_DATA:-/home/docker/jellyfin/data}:/data
      #- /opt/vc/lib:/opt/vc/lib # percorso per librerie OpenMAX, necessario solo per RaspberryPi
    devices:
      - /dev/dri:/dev/dri         # necessario per usare Intel VAAPI video encoding
      #- /dev/vcsm:/dev/vcsm       # necessario solo per usare Raspberry Pi MMAL video encoding
      #- /dev/vchiq:/dev/vchiq     # necessario solo per usare Raspberry Pi OpenMax video encoding
      #- /dev/video10:/dev/video10 # necessario solo per usare Raspberry Pi V4L2 video encoding
      #- /dev/video11:/dev/video11 # necessario solo per usare Raspberry Pi V4L2 video encoding
      #- /dev/video12:/dev/video12 # necessario solo per usare Raspberry Pi V4L2 video encoding

.env

# Generale
JELLYFIN_WEBUI_PORT=8096
JELLYFIN_CLT_DSC_PORT=7359
JELLYFIN_SVC_DSC_PORT=1900
JELLYFIN_CONFIG=/config
JELLYFIN_DATA=/data

# Jellyfin
TZ=Europe/Amsterdam
# ATTIVARE IN BASE AL PROPRIO HARDWARE E NON ATTIVARE ENTRAMBI, in quanto ne basta uno solo
#DOCKER_MODS=linuxserver/mods:jellyfin-amd # necessario per usare GPU AMD (anche quelle integrate)
#DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel # necessario per usare OpenCL-Intel

Reverse proxy

Ancora non ho previsto l'uso di un reverse proxy. (Vedi Todo)

Aggiornamenti

Watchtower aggiorna l'immagine automaticamente.

Aggiornamento manuale:

  • docker-compose pull
  • docker-compose up -d
  • docker image prune

Backup e ripristino

Backup

Copiare a mano, tramite crontab o altro la cartella jellyfin (Vedi Todo)

Ripristino

  • spegnere il container docker-compose down
  • cancellare l'intera cartella jellyfin
  • dal backup copiare la cartella jellyfin
  • far partire il container docker-compose up -d

Todo

Implementare:

  • reverse proxy: caddy o traefik.
  • backup: borg per fare i backup giornalieri completi.