Jump to content

[TUTO] Installer Emby serveur sur un Raspberry PI en mode console


Randdrick

Recommended Posts

Randdrick

Introduction
Ce tutoriel à pour but de vous guider pas à pas dans l'installation et la configuration de votre Raspberry Pi pour l'hébergement d'un serveur Emby uniquement.
Bien que détaillée, vous devez tout de même avoir des notions de base en informatique, et plus particulièrement sous Linux.

1. Installation et configuration de Raspbian.
https://www.raspberrypi.org/software/operating-systems/
Choisir la version Lite.

- Utiliser Raspberry Pi Imager pour l'installer sur votre carte SD (https://www.raspberrypi.org/software/)

- Configurer et sécuriser votre Raspberry
  Création d'un compte et changement de mot de passe : https://www.raspberrypi.org/documentation/configuration/security.md
  Configuration de votre raspberry : https://www.raspberrypi.org/documentation/configuration/raspi-config.md

ATTENTION :
N'oubliez pas que par défaut, le clavier est en anglais tant que vous n'avez pas configuré les locales à l'aide de raspi-config.
Le compte et mot de passe que vous allez créer sera celui qui accèdera à vos partages réseau qui sont sur votre NAS, Freebox, etc.

Profitez-en pour :
- Activer ssh (SSH) : cela vous permettra de prendre la main à distance à partir de votre pc, ce qui est plus simple pour la suite.
- Activer le démarrage du réseau avant le boot (Network at boot). 

2. Mettre à jour votre distribution.

sudo rpi-update
sudo apt dist-upgrade

3. Téléchargement et installation d'Emby (version 4.5.4.0 à jour)
Tapez les lignes de commande suivantes :

wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.5.4.0/emby-server-deb_4.5.4.0_armhf.deb
dpkg -i emby-server-deb_4.5.4.0_armhf.deb

4. Création des partages.
Pour des raisons de sécurité, j'ai décidé de créer et monter mes partages dans le répertoire mnt.

- Créer un répertoire partages dans mnt en tapant la ligne de commande suivante :

sudo mkdir /mnt/partages.

- Puis créer les répertoires qui correspondent à votre organisation de votre serveur qui héberge vos films, séries, etc.
  Supposons que sur votre NAS, vous avez deux dossiers partagés sur votre réseau, que vous avez appelés :
  * videos
  * series

  Vous allez créer les répertoires suivants sur votre Raspberry 

  sudo mkdir /mnt/partages/videos
  sudo mkdir /mnt/partages/series

5. Test des points de montage.
- Récupérer les informations de votre compte, à savoir son uid et guid à l'aide de la commande suivante 

 id MonCompte 


  (Remplacez MonCompte par le nom du compte que vous avez créé lors de la configuration de votre Raspberry pi)

- Tester votre point de montage à l'aide de la commande suivante :

  Exemple :  

sudo mount -t cifs -o user=MonCompte,password=MonMdp,uid=Nuid,gid=Nguid //AdresseIpdeMonServeur/videos /mnt/partages/videos

  MonCompte = Nom du compte que vous avez créé lors de la configuration de votre raspberry pi
  MonMdp = Mot de passe du compte que vous avez créé lors de la configuration de votre raspberry pi
  Nuid = valeur du l'uid trouvé grave à la commande id MonCompte
  Nguid = valeur du guid trouvé grave à la commande id MonCompte
  AdresseIpdeMonServeur = Adresse Ip de votre serveur (NAS, FreeBox, etc) qui contient vos répertoires partagés.

  Si vous avez l'erreur suivante :
  mount error 112
  host is down

  C'est que la version de Samba de votre NAS est ancienne. Il faudra préciser sa version (option vers=x.x) et modifier votre commande mount comme suit :

  Exemple :  

sudo mount -t cifs -o user=MonCompte,password=MonMdp,uid=Nuid,gid=Nguid,vers=1.0 //AdresseIpdeMonServeur/videos /mnt/partages/videos

  En général, avec la version 1.0 cela marche

- Contrôlez que votre montage s'est bien passé avant de passer à l'étape suivante. Pour ce faire, changez de répertoire vers votre points de montage.
  Par exemple.

  cd /mnt/partage/videos
  ls

  Si le montage s'est effectué correctement, vous devez obtenir la liste des vos fichiers/répertoires partagés sur votre serveur. 

Répéter ce point pour chaque répertoire partagé que vos avez sur votre serveur.

6. Montage des répertoires au démarrage de votre Raspberry.
Afin que vos répertoires se montent automatiquement au démarrage de votre Raspberry Pi, veuillez suivre les étapes suivantes :

- Assurez vous que vous avez activé le démarrage du réseau avant le boot (Network at boot).

- Changer de répertoire avec la commande cd 

  Exemple :  

 cd/home/MonRepetroire 

(ou Mon Repertoire correspond au nom du compte que vous avez créé lors de la configuration de votre raspberry pi)

- Créer le fichier .smbcred avec la commande suivante

touch .smbcred

- Editer  votre fichier avec nano (par exemple) 

nano .smbcred

  Et entrez les informations suivantes :

  username=MonCompte
  password=MonMdp

  Puis quittez (combinaison de touches CTRL + X ) et sauvegarder votre fichier

  Pour mémoire :
  MonCompte = Nom du compte que vous avez créé lors de la configuration de votre raspberry pi
  MonMdp = Mot de passe du compte que vous avez créé lors de la configuration de votre raspberry pi

- Rendez vous dans le réprtoire etc et faite une copie de sauvegarde de votre fichier fstab

  cd /etc
  sudo cp fstab fstab.sauv

- Editez votre fichier fstab grace à nano et modifier votre fichier comme suit :

  Après les premières lignes déjà existantes (qui correspondent au montage de vos partitions) et avant la ligne 
  # a swapfile is not a swap partition, no line here
  #   use  dphys-swapfile swap[on|off]  for that

  Insérer pour chacun des points de montages que vous avez créé ( voir étape précédente ) la ligne suivante :

  Exemple pour le point de montage /mnt/partages/videos  

//AdresseIpdeMonServeur/videos /mnt/partages/videos cifs _netdev,users,auto,users,uid=Nuid,gid=Ngid,credentials=/home/pi/.smbcred 0 0

  Si vous avez eu l'erreur dans le point précédent :

  mount error 112
  host is down

  Renseigner l'option vers=x.x

  Exemple :  

//AdresseIpdeMonServeur/videos /mnt/partages/videos cifs _netdev,users,auto,users,uid=Nuid,gid=Ngid,vers=1.0,credentials=/home/pi/.smbcred 0 0

- Redémarrer votre Raspberry ( sudo reboot ) et vérifier que vos point de montage sont bien montés (voir point 5)

7. Configuration de vos Mediathèques.
Pour que les films, séries, etc de vos médiathèque soient accessibles, vous devez les configurer configurer ainsi :

Exemple pour la médiathèque films

image.png.73bd99f4153c993a9e7a3789c32271d1.png

Comme vous pouvez le constater :
Le chemin dossier fait référence à mon point de montage /mnt/partages/videos sur mon Rasperry Pi
Vous devez renseigner obligatoirement le chemin UNC de votre dossier partagé sur votre serveur sinon, au mieux votre vidéo sera transcodée au pire, elle ne lira pas.

8. Mettre à jour Emby à la dernière version (4.6.0.50)
L'opération est simple puisqu'il vous suffit de télécharger et d'installer la dernière version grâce aux lignes de commandes suivantes :

wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.6.0.50/emby-server-deb_4.6.0.50_armhf.deb
dpkg -i emby-server-deb_4.6.0.50_armhf.deb

 

Edited by Randdrick
Nouveau paragraphe pour la mise à jour d'Emby
Link to comment
Share on other sites

  • 2 months later...
Randdrick

Mise à jour du Tutoriel : 
- Nouveau paragraphe pour la mise à jour du Serveur Emby en version 4.6.0.50.
- Amélioration de la mise en forme.

Link to comment
Share on other sites

  • 1 year later...
  • 1 month later...
Guest Skynet.v01

En complément un script écrit par un certain Adam Harbach pour la mise à jour auto de Emby (il faut juste adapter la ligne 22 "latest_download_filename=emby-server-deb_VVVV_arm64.deb" selon que l'on utilise une version 32bits, 64bits ou autre) :

 

#!/bin/bash

# THIS SCRIPT UPDATES EMBY TO THE LATEST STABLE VERSION
# IF AN UPDATE IS AVAILABLE.
#
# Script must be run as root or with root priveleges
# (like using sudo)
#
# !!! USE AT YOUR OWN RISK !!!
#
# Written by Adam Harbach on Feb 18, 2019 on
# a system running Ubuntu Server 18.04.1 LTS on
# an x64 system. Modify as necssary. Some edits may be required.
#
# ====================================================================
# EDIT ME IF NEEDED!
# --------------------------------------------------------------------
# Set the fileame from GitHub that matches the one you use
# for your system architecture. Replace the version number with VVVV
# (four of the letter "V" in UPPERCASE!).
# The script will replace VVVV with the current version number.
latest_download_filename=emby-server-deb_VVVV_arm64.deb

# Set the url of your server. This script is designed to work on
# the same machine as the server software, and is not configured
# for updating a remote machine, but, if your server is listening
# on a port other than the default 8096, you'll need to change it
# here. DO NOT ADD A TRAILING SLASH! Stop after the port number.
#
# Most users won't need to change this.
server_url=http://localhost:8096



# END EDITS (Unless the main script quits working...)
# ====================================================================
#
# Get latest stable version number.
# Visit the symlink of the latest version, discard the HTML output,
# and print the redirected URL, which will contain the version number,
# feed it into AWK, which will strip off all of the URL except
# the version number (version is last item after all forward
# slashes "/" ).
# Give a timeout period (in seconds) in case the internet is down,
# the script won't hang (-m option)
latest_version=$(curl -Ls -m 30 -o /dev/null -w %{url_effective} \
    https://github.com/MediaBrowser/Emby.Releases/releases/latest);
# make sure the connection was successful
if [ $? -ne 0 ]; then
    echo "Error checking for latest version. Script exiting."
    exit 20
fi;
# Success, continue filtering data from that variable.
latest_version=$(echo "$latest_version" | awk -F "/" '{print $NF}' )

# Set download filename.
# Replace the placeholder in the template with the actual current version number.
latest_download_filename=$(echo $latest_download_filename | sed 's/VVVV/'$latest_version'/')

# Set url of latest version
latest_download_url=https://github.com/MediaBrowser/Emby.Releases/releases/download/$(echo $latest_version)/$(echo $latest_download_filename)

# Set file download path. This is where the new package will go
# and where your package installer (dpkg for debian based linux)
# will be set to find the file.
latest_download_path=/tmp/$(echo $latest_download_filename)



# Get the currently installed version number.
# Load the dashboard, and pull the version number from the <head>
# element. give timeout to curl agian in case emby doesn't respond.
installed_version=$(curl -s -m 10 $(echo $server_url)/web/index.html)

# make sure the connection was successful
if [ $? -ne 0 ]; then
    echo "Error checking the currently installed version. Is Emby running?"
    echo "Script exiting."
    exit 22
fi
# Success, continue getting the version number
installed_version=$(echo "$installed_version" \
    | sed -n '/data-appversion=\"/p' \
    | awk -F "data-appversion=\"" '{print $2}' \
    | sed 's/\".*//')


# see if the latest version is installed (do the versions match?)
if [ $installed_version == $latest_version ] ; then
    echo "Emby is up to date."
    echo "Installed: $latest_version"
    echo
    echo "Exiting."
else
    echo "Emby update available."
    echo "Installed: $installed_version"
    echo "Latesst:   $latest_version"
    echo
    echo "Attempting to download update."
    # download with a 5 minute timeout period
    curl -Ls -o $latest_download_path -m 300 $latest_download_url
    # see if download was successful
    if [ $? -ne 0 ]; then
        #failed
        echo
        echo "Download failed, cleaning up parital download and exiting."
        rm $latest_download_path
        exit 30
    fi
    # success, install
    echo
    echo "Download success. Installing."
    dpkg -i $latest_download_path

    # was install successful?
    if [ $? -eq 0 ]; then
        # fail. clean up download
        rm $latest_download_path
        # notify
        echo
        echo
        echo "Emby failed to install."
        # exit with error
        exit 51
    fi
    # success, remove the installer
    rm $latest_download_path
    echo
    echo
    echo "Emby updated to version $latest_version."
fi

exit 0

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...