Transformer un Raspberry Pi en serveur Subsonic

Subsonic… Quezako ? Et bien Subsonic c’est un peu comme posséder un compte Deezer et Spotify, à la seule différence que c’est vous qui hébergez votre propre musique depuis votre ordinateur, le tout gratuitement.

Vous l’aurez compris, il faut bien évidemment héberger tout cela sur une babasse qui reste allumée, ici en l’occurence, un Raspberry Pi.

Raspberry Pi Home Server – Raspbian – Installer un serveur Subsonic

Le contenu musical que vous hébergez peut être lu depuis n’importe quel support (chez des potes qui ont un ordinateur, vous pouvez y accéder via un navigateur web par exemple), mais j’y reviendrai plus tard.

Commençons par le commencement : l’installation du serveur sur votre Raspberry !

  1. Dans un premier temps, il vous faut installer l’environnement d’éxecution Java.
    sudo apt-get install openjdk-6-jre
  2. Vous devez ensuite récupérer le .deb de subsonic, disponible à cette adresse, puis le lancer.
    sudo dpkg -i subsonic-x.x.deb

    (les x sont à remplacer en fonction de la version que vous aurez téléchargée).

  3. Voici les commandes à saisir pour gérer le service subsonic :
    sudo subsonic {start|stop|status|restart|force-reload}
  4. Une fois le service lancé, on vérifie qu’il fonctionne en saisissant le localhost suivi du port utilisé par subsonic dans la barre d’adresse du navigateur du Raspberry :
    http://127.0.0.1:4040/

    Si vous avez le moindre soucis, sachez qu’un fichier de log est disponible à l’emplacement /var/subsonic/subsonic_sh.log

    Le service est dépendant des performances du Raspberry Pi, il vous faudra parfois prendre un peu votre mal en patience si les pages sont longues à charger…

Si tout s’est bien déroulé, vous arrivez sur cette interface :

Raspberry Pi Home Server – Raspbian – Installer un serveur Subsonic

Interface de connexion

Pour la première authentification, utilisez le login et mot de passe admin / admin.

Une fois authentifié, vous arrivez sur l’écran d’accueil de subsonic. La première chose à faire est bien sur de modifier le mot de passe admin :

Raspberry Pi Home Server – Raspbian – Installer un serveur Subsonic

Ecran de configuration de Subsonic

Il ne vous reste plus qu’à déclarer le dossier contenant vos fichiers musicaux :

Raspberry Pi Home Server – Raspbian – Installer un serveur Subsonic

Définir le répertoire de vos musiques

Cliquez sur « Scan media folder now » une fois le chemin d’accès saisi et laissez subsonic ajouter vos musiques automatiquement dans la bibliothèque subsonic.

Ensuite, on retourne sur l’invite de commande et on tape la commande servant à actualiser proprement le service subsonic :

sudo service subsonic force-reload

Voilà ! A présent, Subsonic vous conseille d’effectuer un petit don, qui va vous permettre d’obtenir un nom de domaine en .subsonic.org, de cette manière, vous pourrez accéder depuis n’importe quel navigateur d’un appareil connecté à internet à votre dossier media déclaré plus tôt ! (Pratique pour ceux ne possédant pas d’IP Fixe). Sinon vous pouvez utiliser Inadyn comme présenté dans cet article.

Pour pouvoir accéder à votre serveur Subsonic en dehors de votre réseau local, il est obligatoire d’ouvrir le port 4040 sur votre routeur, en TCP et UDP !

Si vous ne souhaitez pas passer par un navigateur pour écouter vos musiques, vous pouvez télécharger l’application qui va bien en fonction de l’appareil avec lequel vous souhaitez jouer vos musiques. Une liste d’applications est disponible sur le site officiel de Subsonic, accessible

Le service Subsonic n’étant pas vraiment optimisé pour les Raspberry Pi, je vous déconseille à titre personnel de créer des identifiants secondaires avec des droits d’accès réduits (lecture seule ou jukebox) à vos amis pour qu’ils écoutent vos musiques pour la simple et bonne raison que le Raspberry serait vite saturé en mémoire. D’ailleurs, il vous est possible de modifier la RAM utilisé par le service subsonic en éditant le fichier de configuration :

nano /etc/default/subsonic

En modifiant la ligne suivante le paramètre « -max-memory=XXX »

Il ne vous reste plus qu’à vous balader dans votre interface de configuration locale, où tout un tas de configurations vous attendent, allant de la customisation de l’interface, jusqu’à la possibilité d’éditer vos tags !

Bonne écoute sur Subsonic !

Vous aimerez aussi...

  • Merci pour ce premier article ! 🙂

  • TuxGasy

    Tiens, je l’ai installé sur mon HTPC hier soir. Il est à noter que Subsonic n’est pas limité à la musique. On peut aussi regarder un video en streaming. Par contre, j’ai l’impression que Subsonic n’est pas complètement libre car j’ai le message « 29 day(s) left of trial »…

    • eyd3n

      Pas faux pour les vidéos, mais personnellement je n’ai jamais réussi à les faire reconnaître par mon service subsonic, surement un soucis de codecs… Et puis de toute façon je pense que le traitement et l’envoi de vidéo par le net c’est pas quelquechose qu’un Raspberry peut proprement gérer à long terme :]

  • Et comment ça tourne sur un raspberry ? J’utilise subsonic depuis plusieurs années sur mon serveur perso et je vois sa conso importante. Du coup, j’ai pas encore testé sur un raspberry, je pensais que ça ne supporterait pas la charge. Tu t’en sers correctement ?

    @TuxGasy : il faut que tu fasses « un don » pour activer certaines fonctionnalités (comme les clients smartphones ou le streaming vidéo).

    • eyd3n

      Ben en fait moi dans le fichier de configuration, j’ai mis le max memory sur 550, donc en gros subsonic utilise toute la ram quand j’écoute la musique à distance. J’ai fait cela car sur Android l’application UltraSonic permet de passer les mp3 du serveur en offline. En gros, une fois que tu as écouté la musique une seule fois, le fait de la ré-écouter ne bouffe plus la RAM du raspberry. Après pour ceux qui s’en servent pour écouter leur musique sur un autre ordi, ou la musique n’est pas stockée par la suite en local, je pense que 256 en max memory c’est bien. De toute façon, l’application est très très light quand elle n’est pas utilisée, après, tout dépend de ta connexion internet pour l’envoi des sons pour l’écoute !

  • TuxGasy

    Ah ok! J’aurai préféré que l’auteur met le mot « don ». « trial » fait trop logiciel propriétaire à mon goût. Je vais testé ça et j’aviserai en fonction. Merci.

    • eyd3n

      En fait un petit don suffit, c’est pas vraiment un service payant directement. Ça permet de débloquer le nom de domaine et d’utilisation les applications officielles en illimité et sans publicités.

  • François

    Petite erreur dans le tuto :

    il fallait comprendre sudo service subsonic force-reload

    Au lieu de sudo subsonic force-reload

    • C’est corrigé !
      Merci

  • thomas

    Sur le Raspberry Pi, pour le transcodage à la volée, Subsonic utilise un exécutable ffmpeg qui ne marche pas situé dans /var/subsonic/transcode.

    Du coup il faut:

    apt-get install ffmpeg (sauf s’il est déjà présent)

    rm /var/subsonic/transcode/ffmpeg

    cp /usr/bin/ffmpeg /var/subsonic/transcode

    (J’invente rien, ça vient de http://mmed.roulleau.net/?p=171)

    A part ça, le système de « donation » a un poil changé. Avant, il suffisait en effet d’une donation pour débrider à vie. Maintenant, c’est en fait un abonnement à 1 dollar par mois. On peut trouver ce changement de cap plus ou moins cool. Perso, j’utilise un fork, https://github.com/KHresearch/subsonic. Il a fallu construire le paquet DEB, mais ça marche nickel, sans pub, et sans invitation à faire une donation dans les 30 jours.

    • eyd3n

      Merci pour l’info, ça fonctionne en effet. Par contre, mémoire du raspberry saturée. Et faut avoir une sacrée connexion pour envoyer de la vidéo. En ADSL, vous entendrez gueuler votre copine qui écoute sa musique sur spotify, par exemple. (Non ce n’est pas du tout un cas vécu.) 😀

    • Cédric

      Bonjour,

      Comment installe t-on le fork ?J’imagine qu’il faut créer un paquet deb comme tu le dis, mais je n’ai aucune idée de comment faire ça !

      Merci d’avance !

      • Le fork ?

      • thomas

        Par ici, un vague comment-qu’on-fait:

        https://tech.dl85.net/index.php?article12/subsonic-toute-une-histoire

    • eyd3n

      Visiblement, à la fin de l’article que tu as link, la démarche pour installer un fork est décrite, et après l’avoir testé moi-même, fonctionnelle.

      • thomas

        Bah, chais bien, c’est moi qui l’ai écrit :p

      • eyd3n

        Haha ! Bravo Thomas alors, excellent article 🙂 J’aime beaucoup ta manière d’écrire !

  • fanfan86130

    Bonjour a tous

    Jai installer subsonic sur mon dns320 .le souci que je rencontre cest que subsonic ne reconnait pas mon dossier musique a la eacine de mon nas . Esque quelqu’un aurais une solution pour moi ?

    Merci d’avance pour vos réponses cordialement

  • Laurent

    Vraiment pas facile Linux…;( encore des quantités de pb déjà au moment de l’intall de openjdk-6-jre… ça me déprime, ça m’a fait le même coup avec Samba…404 not found en quantité … chui pas expert mais ça encourage pas…va falloir que je passe des heures pour comprendre pour quoi tout ça ne s’installe pas avec une simple commande.

  • Paul

    @Laurent, quand j’ai essayé d’installer java par la commande du tuto j’ai eu les même erreurs que toi, donc la solution c’est de faire un  »apt-get update && apt-get upgrade » et ensuite executer à nouveau la commande et ca machera !!

    @All, Pour streamer du flac, a part remplacer le fichier ffmpeg de /var/subsonic/transcode par /usr/bin/ffmpeg que faut-il mettre dans le transcoding ??

    Car je n’arrive toujours pas à streamer mes .flac …

    • thomas

      Dans les Paramètres, sur l’interface web, tu vas dans la section Lecteurs, et tu définis ta vitesse maximum (le débit, en fait). Du coup, ça active le transcodage quand c’est nécessaire.

    • Laurent

      @Paul, Merci, c’est effectivement une commande courante, dans ce monde Linux, que je vais me tatouer sur l’avant bras… novice ds ce nouvel univers, je lance parfois des commandes que je glane à droite à gauche pour résoudre mes pb sans trop savoir ce qu’elles font, comme la manip pour la lecture des flacs par exemple qui marche nickel.

      @All, est ce que quelqu’un aurait une astuce afin de lire des morceaux au hasard dans l’ensemble de ma biblio musicale sans passer par un système de Playlist si possible ?…là je ne vois q’un système aléatoire sur un album, une playlist mais ne trouve pas la façon de faire sur toute ma biblio…

    • Laurent

      Mes flacs et wma sont transcodés correctement maintenant après avoir effectué une install de ffmmpeg, le cp et le rm comme l’indique Thomas plus haut. Les paramètres par défaut du transcodage fonctionnent, ceux mis en place lors de l’installation. Mais tu peux les retrouver en cliquant sur le lien « Configuration recommandée » -> http://www.subsonic.org/pages/transcoding.jsp dans la partie « Recommended configuration », ce sont exactement ces paramètres qui sont en place chez moi et qui marchent.

  • Antoine

    Bonjour,

    J’ai installé subsonic sur mon raspberry, c’est parfait il fonctionne et j’y accède même de l’extérieur. Maintenant ce que j’aimerais faire c’est accéder à mon dossier de MP3 stockés sur mon NAS. J’ai beau lui déclarer le chemin réseau dans le paramétrage de subsonic, il ne trouve rien. Je pense qu’il doit falloir monter le lecteur réseau quelques parts, mais étant complètement novice en linux, je n’y comprends pas grand chose. Pouvez vous me dire comment faire ? Merciiii

    • Salut
      Le montage peut se faire via fstab. Tout va dépendre du type de NAS, s’il est partagé pour pouvoir le monter.
      Il faut s’essayer avec la commande mount dans un premier temps (surement des infos sur google par rapport au modèle du NAS) puis intégrer la commande dans le fichier /etc/fstab pour un montage automatique après chaque reboot

Handpicked links

Mise en cache objet de 2137/2448 objets utilisant disk Mise en cache utilisant disk: enhanced Mise en cache de base de données 18/81 requêtes dans 0.059 secondes utilisant disk Served from: pihomeserver.fr @ 2017-05-13 15:47:32 by W3 Total Cache -->