Aujourd'hui petite exception, ce n'est pas moi qui vais rédiger cet article. Je laisse la parole à des passionnés d'auto-hébergement qui nous présente leur projet de Cloud personnel libre : Cozy !
Bonjour à tous, chez Cozy Cloud, une jeune startup, nous sommes de fervents défenseurs du logiciel libre et de sa culture. Et comme en plus, nous ne sommes pas satisfaits du modèle actuel des services web, nous cherchons à redonner le contrôle de ses données et services à l'utilisateur. Pour cela nous vous proposons un projet libre auto-hébergeable nommé Cozy.
Cozy renverse le modèle existant en donnant un serveur à chaque utilisateur sur lequel il centralise ses données. Un Cozy n'est pas une distribution Linux mais une collection d'applications webs. Les applications partagent les données et des fonctionnalités entre elles permettant une intégration forte et de nouveaux usages. En effet, nous pensons que cette architecture est propice à l'émergence d'applications innovantes tirant parti des données personnelles en toute transparence (restitutions de données, quantified-self, objets connectés, ...). Des services plus classiques comme le partage de fichiers/photos, la prise de notes/todos et les emails sont bien évidement de la partie.
Pour rentrer dans les détails techniques et concrets, on peut dire que c'est une suite d'application écrite en Node.js accolées à une base de donnée Couchdb et à un serveur d'indexation écrit en Python. Un des modules permet de télécharger, démarrer et arrêter facilement des applications écrites en Node.js. Ce qui veut dire que vous pouvez très facilement ajouter votre propre application (plus de détails sur l'architecture ici).
Installation (pour Debian/Ubuntu)
Pour faciliter l'installation, nous mettons à votre disposition un script d'installation Fabric. Fabric est une technologie permettant d'exécuter des commandes sur un serveur distant depuis votre machine locale. Il vous faudra donc d'abord installer python, Fabric et son extension Fabtools, sur votre machine locale pour pouvoir ensuite déployer la « stack » Cozy sur votre serveur distant.
Attention : Certaines commandes et déploiement d'applications prennent un certain temps.
apt-get install python python-pip
sudo pip install fabric fabtools
Téléchargez ensuite le script Fabric qui lancera les commandes sur votre serveur distant :
wget https://raw.github.com/mycozycloud/cozy-setup/master/fabfile.py
Pour finir, démarrez le script en indiquant le sudoer ou l'utilisateur root de votre serveur ainsi que l'adresse IP de votre serveur (celui ci doit autoriser un accès SSH).
fab -H user@ip install
Le script vous demandera une série d'informations pour générer le certificat HTTPS. Vous pouvez entrer ce que vous voulez. Il vous réclamera aussi un nom de domaine qui correspond au domaine où vous hébergez votre Cozy. Cela est utile pour générer des urls dans le mail d'oubli de mot de passe.
NB: En raison du nombre de technologies installées, nous vous recommandons l'installation dans une machine virtuelle ou dans un conteneur si votre serveur le permet.
Démarrage
Lorsque l'installation est terminée, vous n'avez plus qu'à vous enregistrer sur : https://IP.
Attention : Si vous voyez seulement la page d'accueil de NGINX c'est qu'il vous faut utiliser le protocole HTTPS.
Ensuite vous accédez à vos apps en un clic.
Un clic sur le bouton Apps en haut à droite vous donne accès au repository d'applications. Écran dans lequel vous pouvez aussi indiquer l'url du dépôt git d'une application que vous avez créée.
Pour mettre à jour ou supprimer une application, il faut simplement revenir sur la page d'accueil, cliquer sur le bouton manage et cliquer sur le bouton update/remove de l'application concernée :
Voilà vous savez déjà comment administrer votre cloud perso avec Cozy ! Si vous avez besoin d'aide vous pouvez nous retrouver sur #cozycloud sur freenode.net ou tout simplement nous envoyer un mail à contact@cozycloud.cc . Vous trouverez également dans la suite quelques liens qui pourront vous être utile.
Site du projet
Guide de création d'applications
Détail de l'installation de Cozy