Ajoutez le support Spotify à votre serveur Mopidy.
python mopidy raspberry linux spotify

Mopidy est un serveur de musique, il permet de lancer de la musique via un protocole de communication et d’une application cliente (Desktop, Mobile, etc.). La musique peut provenir d’un disque, d’un stream radio ou d’un flux cloud (Spotify, SoundCloud, Google Play Music).

Vous pouvez par exemple l’utiliser sur un mini PC (RPI, ODROID, etc.) connecté à votre kit son domestique, pour diffuser de la musique sans avoir un ordinateur allumé.

Avant de commencer

Sous Archlinux :

$> yaourt -S mopidy mopidy-spotify ncmpcpp

Attention, il faut un compte PREMIUM pour utiliser Spotify avec Mopidy.

Configuration

Pour une explication détaillée du fichier de configuration, je vous invite à lire la documentation.

$> ls ~/.config/mopidy
mopidy.conf

S’il n’existe pas, il est créé lors du lancement du serveur. Exécutez la commande mopidy, puis quittez.

Ce fichier contient toute la configuration nécessaire pour le serveur mopidy mpd.

Pour ajouter le support de Spotify, il suffit d’ajouter/modifier la configuration suivante :

[spotify]
enabled=true
username=<your_user>
password=<your_password>

Lancement

Vous pouvez à présent lancer le serveur mopidy avec votre utilisateur.

$> mopidy
INFO     Starting Mopidy 2.0.1
INFO     Loading config from builtin defaults
INFO     Loading config from /home/zenithar/.config/mopidy/mopidy.conf
INFO     Loading config from command line options
INFO     Enabled extensions: spotify, mpd, http, stream, m3u, softwaremixer, file, local
INFO     Disabled extensions: none
INFO     Starting Mopidy mixer: SoftwareMixer
INFO     Starting Mopidy audio
INFO     Starting Mopidy backends: StreamBackend, M3UBackend, FileBackend, LocalBackend, SpotifyBackend
INFO     Audio output set to "autoaudiosink"
INFO     Loaded 0 local tracks using json
INFO     Starting Mopidy core
INFO     Logged in to Spotify in offline mode
INFO     Logged in to Spotify in online mode
INFO     Starting Mopidy frontends: MpdFrontend, HttpFrontend
INFO     MPD server running at [::ffff:127.0.0.1]:6600
INFO     HTTP server running at [::ffff:127.0.0.1]:6680
INFO     Starting GLib mainloop

A partir de ce point le serveur est en écoute.

Il est possible d’installer des clients Web sur le serveur mopidy, pour avoir une console directement sur le serveur, très utile dans le cadre d’un serveur domestique.

Vous trouverez la liste des clients web, ainsi que la liste des clients compatibles, sur le site officiel.

Systemd

Il est possible de lancer mopidy via Systemd.

$> mkdir -p ~/.config/systemd/user
$> cp /usr/lib/systemd/system/mopidy.service ~/.config/systemd/user/

Editer la déclaration du service ~/.config/systemd/user/mopidy.service:

[Unit]
Description=mopidy
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/mopidy

[Install]
WantedBy=default.target

Activez le service mopidy pour l’utilisateur courrant :

$> systemctl --user enable mopidy

Démarrez le service mopidy :

$> systemctl --user start mopidy

Pour savoir si le service tourne :

$> systemctl --user status mopidy
● mopidy.service - Mopidy music server
   Loaded: loaded (/home/zenithar/.config/systemd/user/mopidy.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-09-12 09:36:56 CEST; 8min ago
 Main PID: 14865 (mopidy)
   CGroup: /user.slice/user-1000.slice/user@1000.service/mopidy.service
           └─14865 /usr/bin/python2 /usr/bin/mopidy

Sep 12 09:36:56 hostname mopidy[14865]: INFO     Loaded 0 local tracks using json
Sep 12 09:36:56 hostname mopidy[14865]: INFO     Audio output set to "autoaudiosink"
Sep 12 09:36:56 hostname mopidy[14865]: INFO     Starting Mopidy core
Sep 12 09:36:56 hostname mopidy[14865]: INFO     Logged in to Spotify in offline mode
Sep 12 09:36:57 hostname mopidy[14865]: INFO     Logged in to Spotify in online mode
Sep 12 09:36:59 hostname mopidy[14865]: INFO     Starting Mopidy frontends: MpdFrontend, HttpFrontend
Sep 12 09:36:59 hostname mopidy[14865]: INFO     MPD server running at [::ffff:127.0.0.1]:6600
Sep 12 09:36:59 hostname mopidy[14865]: INFO     HTTP server running at [::ffff:127.0.0.1]:6680
Sep 12 09:36:59 hostname mopidy[14865]: INFO     Starting GLib mainloop
Sep 12 09:36:59 hostname mopidy[14865]: INFO     New MPD connection from [::ffff:127.0.0.1]:60548

Ncmpcpp aka NCurses Music Player Client (Plus Plus)

Nous allons maintenant utiliser un client terminal pour mopidy: ncmpcpp.

Ce client est très simple, il permet d’utiliser mopidy en mode local (serveur installé sur votre machine), ou en mode distant (serveur installé sur une machine distante).

ncmpcpp c’est beau, c’est simple et conforme avec mon desktop minimaliste i3.

ncmpcpp avec i3

ncmpcpp sous i3, oui je sais ça fait geek mais j’aime bien, et c’est propre ^^

Vous trouverez la liste des raccourcis utilisables pour ncmpcpp, sur le wiki Archlinux.

ncmpcpp est un client de mopidy, cela veut dire que vous pouvez quitter le client la musique ne s’arrètera pas ^^ => c’est le serveur qui continue de lire votre musique.

Procédure d'installation d'Archlinux mise à jour et modernisée
linux devops luks2 btrfs systemd efi ssd

Déployer Kubernetes en version locale sous Archlinux avec KVM.
linux kubernetes docker devops golang

Parce qu'il n'est pas nécessaire d'installer en root les binaires produits par les dépendances Node.js.
linux nodejs npm securite