Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Cloud

Streamer sa musique librement

Rédigé par dada / 05 décembre 2017 / 14 commentaires


Il existe des tonnes de façon d'apprécier sa musique sans pour autant la traîner sur des CD ou sur la carte mémoire de son téléphone. Les plus simples consistent à prendre un abonnement chez Deezer ou chez Spotify mais, manque de chance, c'est plein de DRM et ça ne fonctionne pas partout sur la planète. Oui, je reste un grand traumatisé de Spotify : je n'ai jamais réussi à écouter mes playlists alors que je vadrouillais en Syrie (avant !).

Du coup, voici ma solution. Ce n'est peut-être pas la plus simple mais elle me permet de combiner Nextcloud, Sonerezh et Power Ampache. Avec tout ça, j'écoute ma musique via une interface web et via une application mobile partout où je veux et je contrôle tout. Le seul souci, c'est que ça me coûte cher en musique.

Nextcloud ?

Pour n'avoir qu'à copier/coller mes dernières trouvailles dans un répertoire de mon PC. Il va être parcouru par le client de synchronisation : son contenu va donc directement être envoyé sur le serveur de streaming. C'est simple, facile et pour les feignants. En plus, ça fait déjà un backup.

Music ?

C'est l'application qui permet de lire ses fichiers audios dans NC. Ça fait du bon boulot, mais c'est moche et assez lent. Je préfère carrément Sonerezh. Ceci-dit, elle supporte l'API d'Ampache, et ça, c'est cool. Vous le voyez arriver, le lien avec Power Ampache ?

Power Ampache ?

Là, c'est le Graal. Votre NC est configuré, Music fournit l'API d'Ampache : Power Ampache va tout récupérer. Vous avez maintenant du streaming audio de qualité sur votre Smartphone. Bah oui, ça supporte le FLAC, tout ça !
Ah, et pensez à cocher "Offline Songs" si ça vous embête de pomper votre forfait 3/4G.

Sonerezh ?

Quand votre NC récupère vos fichiers audios, vous y avez accès via Music et Power Ampache, mais pas via une belle et rapide interface web. C'est là que Sonerezh débarque.
Pour que ça marche, il faut lui dire d'aller récupérer le contenu de votre répertoire Musique qui est dans Nextcloud, tout simplement.
Perso, je suis passé par le principe du stockage externe de Nextcloud pour que tous les partis puissent se parler, et que je puisse faire du gros copier/coller depuis mon PC sans avoir jamais à me connecter au serveur.

Qu'est-ce que ça donne ?

Sonerezh :



Power Ampache :


Tout cela n'est pas parfait, mais c'est de la bonne bidouille ! Du logiciel libre et un peu d'idées pour ne plus jamais se prendre le choux à gérer sa musique entre le local et le distant. Y'a sans doute plus simple, mais bon, une fois que ce système est en place, on n'a plus qu'à vérifier les tags avec EasyTAG et à faire un copier/coller. Cool.

Améliorer la recherche dans Nextcloud avec Nextant

Rédigé par dada / 03 juin 2017 / 3 commentaires




La recherche dans Nextcloud est bien foutue mais commence à montrer ses limites quand on s'amuse à stocker une grande quantité de fichiers. En plus, elle ne va pas analyser ce qui se passe au niveau du contenu. C'est là que l'ami Solr débarque via une extension plutôt pratique : Nextant.
J'annonce tout de suite, ce billet va parler d'un outil en Java, et même qu'il va falloir l'installer. Si vous faites partie de ceux qui s'obstinent à dire que Java, c'est de la merde, plutôt que de pester sur des développeurs d'applications, au mieux, maladroits, passez votre chemin.
C'est aussi un peu compliqué, mais bon, je vais tenter de faire de mon mieux pour vous rendre la tâche presque simple !

Installer Java

On attaque fort, j'avais prévenu ! Si vous êtes sous Debian 8, vous aurez besoin de passer par les backports puisque la version présente dans les dépôts classiques est trop ancienne. Il faut les mettre en place et taper la commande suivante :
apt-get -t jessie-backports install openjdk-8-jdk

Vérifier la version utilisée par le système

Les versions de Java cohabitent dans votre système. Si vous aviez déjà du java, il faut faire comprendre à l'OS que c'est la toute dernière qu'il faut  :
root@dadall:/var/www/# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Si le résultat retourné n'est pas le même que le mien, corrigez le souci en passant par l'update-alternatives :
root@dadall:/var/www/html/nc#  update-alternatives --config java
Il existe 2 choix pour l'alternative java (qui fournit /usr/bin/java).

  Sélection   Chemin                                          Priorité  État
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode automatique
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode manuel
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
Dans mon cas, tapez 2 et vous en aurez fini avec Java.

Installer Solr

On va passer par l'installeur automatique. C'est bien plus simple et ça permet de ne pas se prendre la tête.
D'abord, prenez le temps de créer un utilisateur solr :
adduser --disabled-login solr
su solr
cd ~
Placez-vous dans sa home et récupérez les sources :
$ wget http://mirrors.ircam.fr/pub/apache/lucene/solr/6.5.1/solr-6.5.1.tgz
$ tar -zxvf solr-6.5.1.tgz
Puis lancez la procédure :
# bash solr-6.5.1/bin/install_solr_service.sh solr-6.5.1.tgz 
Une fois terminée, on va faire un peu de configuration. On va simplement dire à Solr de ne répondre qu'aux sollicitations locales en remplaçant cette ligne :
<Set name="host"><Property name="jetty.host" /></Set>
par :
<Set name="host"><Property name="jetty.host" default="127.0.0.1" /></Set>
dans le fichier présent là-bas : /opt/solr/server/etc/jetty-http.xml. C'est une configuration simple mais importante : elle évite de rendre vos données accessibles à l'extérieur.

Vous pouvez maintenant démarrer la bête :
# /etc/init.d/solr start 
Solr est maintenant démarré mais il lui marque un dernier truc : un core. On va le créer en deux minutes en tapant ça avec le user solr créé pour l'occasion :
/opt/solr/bin/solr create -c nextant 
Et voilà pour Solr ! Place à l'extension !

Installer Nextant

Bon, là, si vous avez réussi toutes les étapes précédentes, c'est que vous pouvez aller cliquer dans la gestion des applications de votre Nextcloud pour activer le bousin. Tout est déjà rempli pour vous. C'est très clair et un bouton «tester» est là pour vous permettre de tout valider !



Solr fonctionne sur le principe des indexations : à un instant T, il va gober tout ce qu'il y a à savoir dans vos fichiers et l'organiser à sa sauce. Pour la première, il est plus que conseillé de la faire à la main en tapant la commande (avec le user de votre Nextcloud, pas le user solr) :
./occ nextant:index 
L'indexation de nouveau contenu ne se fera pas en temps réel mais via un cron Nextcloud. C'est à dire de temps en temps, alors ne vous étonnez pas si le dernier document que vous venez d'ajouter n’apparaît pas immédiatement dans les résultats de recherche.

Une section «Pour aller plus loin» est disponible dans la doc de Nextant. Elle indique, entre autre, comment exclure des répertoires de l'indexation. C'est pas mal si vous ne voulez pas voir certaines infos apparaître maladroitement.

Vous pouvez maintenant faire vos recherches dans vos fichiers !

Installer Collabora Online avec Nextcloud

Rédigé par dada / 05 avril 2017 / 24 commentaires




Le soleil repointe le bout de son nez et je ne trouve plus le temps de sortir des billets. L'apéro passe avant tout mais malgré ça, j'ai quand même pas mal joué avec mon serveur.
D'abord, j'ai changé de crémerie, encore, pour laisser tomber mon C1 chez Scaleway pour une Kimsufi aux caractéristiques bien plus rigolotes : adieu l'ARM, coucou le Core i3. Ça m'a permis de mettre en place l'objet de ce billet : Collabora Online dans Nextcloud via Docker !

je présuppose que votre machine tourne sous Debian Jessie (what else ?) avec Nextcloud 11.0.2.

Installer Docker

Je suis passé par l'installation de Docker CE. Ça permet d'avoir une version plus récentes de la bête.

On commence par les dépendances qui vont bien :
apt-get install apt-transport-https ca-certificates curl software-properties-common 
On enchaîne sur la clé GPG du dépôt :
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
On ajoute le dépôt dan le sources.list :
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" 
Pour finir, on installe notre nouveau jouet et c'est parti !
apt-get update && apt-get install docker-ce

Mise en place du conteneur de Collabora

On le télécharge :
docker pull collabora/code 
On le lance :
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=votre\\.instance\\.com' --restart always --cap-add MKNOD collabora/code 
C'est pendant cette étape que je me suis le plus pris la tête... Ils disent de lancer docker avec pour paramètre un sous-domaine pour Collabora alors qu'il ne le faut pas, pas chez moi du moins. En fait, comme Collabora tourne sur le même serveur que mon instance, pas besoin de sous-domaine.

Configurer votre Vhost

Pour Nginx, ajoutez ces lignes dans votre vhost : (snippet ici).

    # static files     
    location ^~ /loleaflet {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }       
    # WOPI discovery URL
        location ^~ /hosting/discovery {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;    
    }        
    # websockets, download, presentation and image upload
    location ^~ /lool {        
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Upgrade $http_upgrade;  
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
   }
Pour Apache2. c'est trop long alors cliquez sur snippet !

Et voilà pour le plus chiant !

Activer Collabora

Maintenant, pour terminer, allez donc activer l'application en la configurant avec le sous-domaine de votre instance : https://votre.instance.com. Pensez bien à cliquer sur "Appliquer" si vous ne voulez pas risquer de devenir chèvre...

Tous ces efforts vous permettront de cliquer paisiblement sur ces 3 nouvelles options :



Amusez-vous bien !

Vérifier la sécurité de son instance Nextcloud

Rédigé par dada / 07 mars 2017 / 2 commentaires


Avoir son informatique dans les nuages, c'est franchement chouette. Mettre en place les services dont on a besoin et s'en servir, c'est même carrément jouissif pour le bidouilleur que je suis. Et je ne vous parle même pas des services inutiles que je m'amuse à faire tourner quand même ! Ne me regardez pas comme ça, nous sommes nombreux dans ce cas-là !

Dans les services que j'utilise beaucoup, il y a ownCloud, devenu Nextcloud dans mon cas. Il fait vraiment le café et me rend un nombre impressionnant de services. Du coup, il est devenu particulièrement critique : à force de mettre des choses et d'autres dedans, on y retrouve une partie de ma vie loin de l'écran, carrément personnelle, que je ne veux pas voir traîner n'importe où.

Là aussi, je suppose que je ne suis pas le seul dans ce cas et c'est peut-être pour ça que les gars de NC ont sorti un utilitaire pour scanner et analyser la qualité de l'installation de leur bébé de part le grand Internet et ses habitants, qui ne sont pas toujours des grands spécialistes.



Voici ce que vous devriez tous avoir sous les yeux une fois l'adresse de votre instance donnée à bouffer au scanner, et c'est presque un minimum ! Le A+ traduit un serveur configuré avec les normes en vigueur chez les professionnels. Ça tombe bien, l'hébergement, c'est mon métier.

Cette note est tout de même trompeuse puisqu'elle ne s'intéresse pas à la configuration complète du serveur sur lequel Nextcloud tourne, mais c'est déjà ça.

Si vous passez par un prestataire, faites aussi le test et n'hésitez pas à lui remonter, poliment, d'éventuelles inquiétudes !

Nextcloud étant un outil qui doit rester ouvert sur le web, il doit impérativement faire l'objet d'une vigilance importante. D'autres outils peuvent tourner avec des accès très restreints, pas NC.

Je profite de ce billet pour balancer un lien vers cet article de l'excellent Reflets.info : Jacques Attali digital, au propre et au figuré. On peut y lire des choses à la fois drôles et tristes sur la vitrine web de gens qu'on imaginerait à l'écoute de ce genre de problématique. Et je ne parle même pas de Yahoo...

Redis-stat ou comment monitorer Redis simplement

Rédigé par dada / 01 mars 2017 / Aucun commentaire


Redis est un outil que je continue de découvrir alors que je le manipule au boulot depuis maintenant des mois, et franchement, j'adore. Je ne ferai pas de cours sur son utilité, la page Wikipédia raconte ce qu'il faut. Ici, je vous propose un outil pour le monitorer très simplement : Redis-stat.

Plutôt qu'un long discours, la capture d'écran :



Comme vous pouvez le constater, les informations sont sommaires mais suffisantes pour donner un aperçu de comportement du Redis. Bon, après, s'il vous en faut plus, il faudra passer par un outil bien plus complexe que redis-stat !

Pour l'installation, c'est une Gem ruby simple qu'il faut récupérer, mais d'abord, les dépendances :
apt-get install ruby ruby-dev make g++
Puis :
gem install redis-stat 
Pour lancer l'outil, un petit (pourquoi petit ?) :
redis-stat --server --daemon 
La configuration par défaut est parfaite si vous n'avez pas trop bidouillé la configuration de votre instance.

Je termine ce rapide billet en vous disant que l'utilisation de Redis, c'est bon pour la santé ! Mon Nextcloud s'en sort bien mieux depuis qu'il tape dedans.