Hébergement de fichiers avec Seafile pour Raspberry Pi

Si vous êtes un utilisateur d’outils de partage de fichiers en ligne type Dropbox, Box ou Google Drive, peut être êtes vous sensible à la gestion de la confidentialité et du respect de la vie privée. Une solution est l’hébergement à la maison de ses fichiers pour en garder le contrôle. De nombreuses solutions existent comme Owncloud ou Ajaxplorer. Aujourd’hui nous allons voir comment installer la solution Seafile.

Raspberry Pi Home Server Hébergement hosting Seafile

Même si la solution Owncloud est je trouve correcte, elle reste pour moi lourde et les performances ne sont pas au rendez-vous. De plus le stockage avec cryptage et décryptage se fait coté serveur ce qui laisse un risque si on s’introduit sur votre machine (j’suis pas parano mais d’autres le sont 😉 )

En regardant les outils existants, j’ai trouvé Seafile qui a de nombreuses éloges sur plusieurs sites et dont les performances et la sécurité sont mises en avant. Tout ce que je voulais.

Cerise sur le gateau, il existe une version serveur spéciale pour le Raspberry Pi donc parfait pour nous !

  1. Installer une distribution sur votre carte SD. Comme d’habitude chez moi j’ai pris la distribution Moebius.
  2. Mettre à jour la distribution
    apt-get update && apt-get upgrade -y
  3. Installer NTP pour garder l’heure de votre système si votre distribution ne l’a pas déjà
    apt-get install ntp
  4. Télécharger la version serveur de Seafile.
    wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_pi.tar.gz
    tar zxvf seafile-server_3.1.6_pi.tar.gz
    cd seafile-server-3.1.6/
  5. Installer les paquets pouvant être nécessaires à Seafile
    apt-get install python-setuptools python-imaging sqlite3
  6. Lancer l’installation de Seafile avec le script prévu cet effet.
    ./setup-seafile.sh
  7. Suivez les instructions d’installation
    Raspberry Pi Home Server Hébergement hosting SeafileRaspberry Pi Home Server Hébergement hosting SeafileGrâce au script d’installation vraiment réussi, vous savez ce que vous devez ouvrir comme port si vous êtes derrière un firewall ou sur votre box :
    Raspberry Pi Home Server Hébergement hosting Seafile
  8. Reste à démarrer le serveur Seafile pour la gestion des fichiers
    ./seafile.sh start
  9. Vous devez aussi démarrer la partie Hub qui permettra les connexions. Le premier lancement va vous demander de créer un compte administrateur.
    ./seahub.sh start

    Raspberry Pi Home Server Hébergement hosting Seafile

  10. Vous pouvez maintenant vous connecter soit via l’interface web
    Raspberry Pi Home Server Hébergement hosting SeafileSoit via un client lourd sur ordinateur (les liens sont disponibles directement en bas de la page de l’interface Web) ou même sur tablette !
    Vous pouvez créer vos librairies, y ajouter des fichiers puis les partager comme dans Dropbox avec des liens que vous pouvez envoyer à des amis.
    Raspberry Pi Home Server Hébergement hosting SeafileLe résultat est assez bluffant du coté des performances. Je n’ai pas testé avec 25 personnes en même temps mais la différence avec Owncloud est vraiment flagrante. C’est fluide et vraiment réactif.

 

Si vous souhaitez partager des fichiers ou les synchroniser entre plusieurs machines, je ne peux que vous conseiller d’essayer Seafile !

 

Vous aimerez aussi...

  • Christophe

    Merci beaucoup pour ce tuto, je cherchais depuis un moment un logiciel de ce genre, et Owncloud me semblait trop lourd.
    Il manque peut-être juste une explication sur la manière de lancer le serveur et le hub au démarrage 😉
    Avez-vous également réussi à paramétrer l’envoi de notifications par email (pour la création de users et la RaZ de mot de passe par exemple) ? J’ai essayé de suivre les instructions du site officiel, mais ça n’a pas marché avec mon compte gmail.

  • Salut,
    Je vais effectivement ajouter un lien vers l’article sur les scripts au démarrage. Bonne idée.
    Pour les notifications j’ai configuré en suivant les instructions officielles pour l’envoi d’email. Je peux maintenant envoyer des liens vers les éléments de ma bibliothèque directement depuis l’interface. Par contre le fichier de configuration n’existait pas

  • Christophe

    J’ajoute une précision quant à la configuration de l’envoi de mails : en configurant la double validation sur mon compte Gmail et en créant un accès sécurisé dédié à Seafile, ça fonctionne.

  • zodd

    Bonjour, merci pour ce tutoriel ^^ J’aurai une question sur cette phrase:
    « Dans le tutoriel j’ai utilisé root mais je vous conseille un utilisateur spécifique dédié qu’à ce service. »
    Comment faites vous pour lier un utilisateur à un service en particulier? avec le groupe sudo ?

    • Bonsoir,
      Le user spécifique est surtout nécessaire si les deux programmes sont exécutés manuellement. Dans ce cas pas besoin de sudo. Sinon une autre technique est de créer un script à mettre dans le répertoire init.d pour automatiser le démarrage

      • zodd

        Du coup il y a un truc qui m’échappe.. Quels sont les deux programmes? je ne vois que seafile..là il y a un truc certainement basique que je ne comprend pas..

        • Pour les étapes 8 et 9.
          Si tu veux que Seafile soit lancé à chaque démarrage alors passe par un script dans init ( exemple ici)
          Si tu veux le lancer manuellement après un reboot du Raspberry alors il vaut mieux créer un user spécifique (genre ‘seafile’) avec le quel tu vas faire tout le tutoriel.

          • zodd

            ok merci pour l’explication.En fait ce qui m’échappait, c’est que je ne comprenais pas l’intérêt de le lancer manuellement après un reboot .. d’ailleurs on peut le faire avec n’importe quel utilisateur. Je n’ai pas l’habitude d’avoir un utilisateur dédié à chaque type de service. ça a un intérêt?

          • Je suis pas spécialiste securité mais un user dédié permet de séparer les services et donc si un service est hacké il est plus compliqué de prendre le contrôle complet si le user en question n’est pas root
            Si on regarde sur les serveurs unix, chaque service à son user : ftp, sendmail, ssh, etc.

          • zodd

            ok, merci pour l’information. Je n’y avais pas pensé mais finalement c’est astucieux.

  • fabien6095@yahoo.fr

    Bonjour,

    Je tient tout d’habord à te remercier pour ton site avec lequel j’apprends tout les jours (je suis plutot windaube à la base)

    j’ai suivit ton tuto à la lettre vis-a-vis de seafile, cependant un problème persiste que je ne parvient pas à résoudre.

    Je peut me connecter à mon raspberry/seafile depuis l’extérieur , donc sur ma box j’ai fait du NAT sur les port par défault en tcp , à savoir 10001;12001;8082 et 8000.

    Le problème est le suivant : Je me connecte sans souci depuis l’exterieur (via smartphone ou ordinateur) , je peut crée des compte sur seafile, crée des bibliothèque, mais…..dès qu’il s’agit de downloader un fichier, ou d’uplaoder un fichier sa mouline en boucle et sa n’aboutie pas…..

    Bien entendu en local , puisque j’attaque directement l’ip du rasp du style 192.168.1.40 sa fonctionne donc je pensais à un problème de redirection de port. J’ai revérifier 2 fois, les bon port sont redirigé et reboot de ma box.

    Bref tout fonctionne sauf la fonction download/upload 🙁

    Encore une fois je suis un noob en linux, mais si tu me donne les commande à executer je peux te founir fichier de conf de seafile server et seafile hub.

    Dernière info j’ai testé avec 2 distrib, la moebius et raspian même résultat 🙁

    De par avance merci pour l’aide la communauté

    Fabien

  • fabien6095@yahoo.fr

    Merci pour ce retour super rapide, j’aurais du le préciser dans mon 1er post, ma box (freebox revolution en l’occurrence) est en ip fixe, donc elle ne change pas.

    Ce soir je vais regarder le « set service URL » voir si sa peux faire avancer le problème, a tu d’autre axe/piste que je pourrais regarder ?

    Merci
    Fabien

  • fabien6095@yahoo.fr

    Bonjour Chris,

    Donc j’ai solutionné mon problème, je suis juste stupide….. je m’explique :

    Lors de la configuration du fichier de conf ccnet, j’ai pas réfléchis et j’ai bétement mis l’adresse local du rasp, et non mon adresse publique….. voila tout 🙁

    Désolé de t’avoir fait perdre du temps avec cela, en espérant que mon erreur aide d’autre noob comme moi.

    Cordialement
    Fabien

  • flo.r68

    Petite question bête mais niveau sécurité c’est aussi puissant que Owncloud ? Peut-on ajouter un SSL ou est-ce inutile ? (je débarque je pige toutes les subtilités encore x) Merci d’avance !

  • flo.r68

    Ok merci. Quelle solution de Cloud affectionnes-tu le plus Owncloud ou Seafile ? et quel distribution pour faire tourner ça ? Wheezy est peut-être un peu gourmand et moebius plus à jour… Merci d’avance 🙂

    • Je préfère Seafile car je ne fais que partager des fichiers. Pour les photos uniquement il y a aussi lychee (article sur ce site). Pour owncloud je trouve les ressources du Raspberry un peu limites (pour la réactivité ).
      Pour la distribution je reste sur Raspbian avec une installation par réseau pour n’avoir que le minimum et à jour. Moebius ne semble plus être maintenue à jour malheureusement

  • Christian

    Tout d’abord merci pour ce site car je suis novice en cette matière.
    J’ai un Raspberry PI avec Weezy.
    Tu invite à installer Seafile sur un autre user que root, ok. Pour toi, quel serait le path (/etc/xx ou autre)?
    Je vois sur le site de Seafile qu’ils recommendent d’utiliser MySQL si le stockage des fichiers est externe. Je compte utiliser un stick USB. Quel est ton avis ?
    Merci

    • Bonjour
      Le user supplémentaire n’est là que pour limiter les droits d’accès en cas de piratage. Rien à voir avec un path comme /etc. Il faut créer le user et l’utiliser pour lancer l’installation.
      Pour le stockage externe sur clé USB, il faut la formater en ext4 pour les performances, faire un montage automatique avec une ligne dans le fstab (voir ici : http://www.pihomeserver.fr/2012/12/21/raspberry-pi-home-server-monter-les-partitions-du-disque-par-leur-uuid/) et spécifier le chemin lors de l’installation. Pour MySQL je ne sais pas mais pourquoi pas. A voir s’il y a des possibilités pour des bases de données plus légères genre SQLite

  • thomas schneider

    Bonjour, merci pour ce tres bon tuto ! petite question: Peut on se servir du script pour mettre a jour seafile apres avoir telechargé la derniere version de seafile ? egalement j’aimerai installer une cle usb pour les donnees de seafile mais le lien plus bas ne fonctionne pas…

    Merci

  • Wako

    Bonjour,
    Fonctionne niquel.
    Par-contre quand j’accède à l’interface web en local, ça met environ 10sec à s’afficher, pareil après que je m’auth pour arriver dans mes dossiers, c’est assez frustrant, c’est du à quoi ? J’ai utilisé l’os netinstall du mini Raspbian et la mémoire utilisée est d’environ 100mo. Mon modèle de rpi est le type B, c’est lui qui est trop léger ?

    Merci.

    • C’est possible. Est ce que tu as bien reduit la quantité de memoire pour le gpu à 1 ?
      Il fudrait aussi regardr l’occupation cpu pendant la connection et voir si ca surcharge bien

      • Wako

        Oui normalement c’est fait (gpu_mem=1 dans /boot/config.txt).
        Comment fait-on pour voir l’occupation cpu ?

        • En utilisant la commande top, en haut il y a la charge cpu. La commande est à lancer avant de se connecter

          • Wako

            À priori, ça viendrait de Python :

            Au « repos » : http://i.imgur.com/JJWqxSS.jpg
            Lors de la connexion : http://i.imgur.com/fpA7nRa.jpg

            Il y a quelque chose à optimiser avant de me dire que mon rpi n’est pas assez puissant ? 😀

          • Non 🙂 La seule « solution » que j’avais utilisée c’est d’overclocker à 1Ghz avec raspi-config

          • Wako

            Je viens de l’o/c à 1Ghz, malheureusement pour moi, aucun changement… tant pis, ça restera comme ça, le principal fonctionne quand même 🙂
            Merci à toi de m’avoir aider à localiser le problème.

  • bonjour et merci pour le tuto. Juste une precision peut on faire un double boot, car je voudrais faire un media center, et le reste du temps un clood avec seafile. Merci

    • Il est possible de faire cette installation sur une distribution autee que raspbian donc osmc ou openelec, ca ne devrait pas etre un probleme !

  • yep

    Salut beau travail !
    J’ai une petite question, je pense installer Seafile sur un raspberry pi 2, sur ma livebox. De préférence en accès externe (https), mais j’ai une connexion pas top, réception 800ko/s, envoie 100 ko/s..
    Donc si je veux mettre 100 go en cloud, ça va prendre 1 mois à upload, via mon pc..
    Mais si je suis chez moi en rj45 sur ma livebox, pc et raspberry, est-ce que seafile utilisera directement cette connexion ou passera quand même par le net ? (je pense que oui, mais dans le doute, je demande ^^)
    Merci, si t’as la réponse 🙂

  • Salut
    En interne tu vas envoyer du RJ45 (100Mb/s pour le Raspberry) vers la LiveBox puis de la LiveBox vers ton PC (RJ45 ou Wifi). Vers l’extérieur ca sera pareil vers la LiveBox puis de la LiveBox vers Internet et c’est cette dernière liaison qui sera le goulot d’étranglement (sauf peut être si tu as la fibre)

    • yep

      Re, merci pour ta réponse ! ça m’aide bien

      Après quelques recherches, je penses partir sur un banana pi, le port Ethernet 1000Mb/s et le Sata me paressent mieux pour faire tourner Seafile 🙂

      Et nan pas la fibre, malheureusement…

  • Hermonie

    Bonsoir,

    Je trouve ce tuto super intéressant mais au moment de l’installation de python-imagingje me fais jeter :

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package python-imaging

    Si quelqu’un a une solution je suis preneur, merci d’avance 🙂

    Hermonie

    • Bonjour

      Quelle version de Raspbian ? Car je viens de faire le test et pas de soucis chez moi (Debian/Raspbian 7.8)

      • Hermonie

        Bonjour,

        Ha je pensai que comme dit dans le point « 1 » vous aviez réalisé ce tuto avec une Moebius.

        Donc moi je l’ai fait comme dans le tuto avec une Moebius.

        Fred

  • thomas schneider

    Bonjour,

    J’ai installé Seafile sur un RPI2 depuis quelques mois, tout fonctionnait a merveille. Mais je devais changer d’adresse IP publique mon serveur et mes clients a chaque fois que mon FAI changeait cette dernière. (Ip Dynamique)

    Donc j’ai décidé de créer une adresse sur NOIP pour y accéder plus facilement. Et je modifia mon serveur en consequence en suivant ce tuto http://manual.seafile.com/deploy/deploy_with_apache.html

    Mais depuis ce changement, j’ai accès a mon serveur par l’adresse créée sur NOIP, je vois tous mes fichiers mais il m’est impossible de les télécharger.

    Assez débutant en informatique, je ne comprends pas ce que j’ai pu manquer, je comprend que la page web telecharge sur le port 8082 avec le proxypassreverse et proxypass, mais la ça devient trop compliqué pour moi… 🙁

    Est ce quelqu’un a une idée de ce qui cloche sur mon serveur, ce serait apprécié

    Merci

    thom

    Messages: 5

    Enregistré le: Mer 11 Nov 2015 04:46

    • Bonjour
      Est ce que l’envoi de fichier fonctionne ? Est ce que ca fonctionne avec le client ? L’interface web ?

  • tom.joad

    Bonsoir,
    Je souhaiterai héberger mes images chez moi car je n’ai plus confiance dans les hébergeurs d’images façon Imageshack.
    Est-ce que ce système peut remplacer ces sites ?

    • Le soft permet un.hebergement privé avec generation de lien public. A voir sur le site officiel les fonctionnalités de partage et de preview.

      • tom.joad

        Merci.

  • Pingback: À la découverte de l’informatique dans les nuages avec #Seafile – MIAMONDO()