One file with Seafile for Raspberry Pi

If you are a user of online file sharing tools type Dropbox, Box or Google Drive, can be are you sensitive to confidentiality and privacy compliance management. A solution is the accommodation to house its files to keep control. Many solutions exist as Owncloud or Ajaxplorer. Today we will see how to install the solution Seafile.

Raspberry Pi Home Server Hébergement hosting Seafile

Even if the solution Owncloud is a good one, It remains for me heavy and performance are not so good. More storage with encryption and decryption is done side server which leaves a risk if it inserted on your machine (j’suis pas parano mais d’autres le sont 😉 )

Looking at existing tools, I found Seafile who has numerous praise on several sites and whose performance and security are put forward. Everything I wanted.

Icing on the cake, There is a special Server version for Raspberry Pi so perfect for us !

  1. Install a distro on your SD card. As usual with me I took the distribution Moebius.
  2. Update distribution
    apt-get update && apt-get upgrade -y
  3. Install NTP to keep your system time if your distribution does not already have
    apt-get install ntp
  4. Download the server version of Seafile.
    wget tar zxvf seafile-server_3.1.6_pi.tar.gz cd seafile-server-3.1.6/
  5. Install the packages that may be required at Seafile
    apt-get install python-setuptools python-imaging sqlite3
  6. Start the installation of Seafile with the script intended therefor.
  7. Follow the installation instructions
    Raspberry Pi Home Server Hébergement hosting SeafileRaspberry Pi Home Server Hébergement hosting SeafileWith the installation really script succeeded, you know what you need to open port if you are behind a firewall or on your box :
    Raspberry Pi Home Server Hébergement hosting Seafile
  8. Remains to run the Seafile server for the management of files
    ./ start
  9. You must also start the Hub part that will allow connections. The first launch will ask you to create an administrator account.
    ./ start

    Raspberry Pi Home Server Hébergement hosting Seafile

  10. You can now connect either via the web interface
    Raspberry Pi Home Server Hébergement hosting SeafileEither through a thick client on computer (links are available directly at the bottom of the page of the Web interface) or even on Tablet !
    You can create your libraries, add files and then share them as in Dropbox with links that you can send to friends.
    Raspberry Pi Home Server Hébergement hosting SeafileThe result is quite stunning side performance. I have not tested with 25 people at the same time but the difference with Owncloud is really obvious. It is fluid and really responsive.


If you want to share files or synchronize them between multiple machines, I can only advise you to try Seafile !


You may also like...

  • Christophe

    Thanks much for this tutorial, I was looking for for a long time a software of this kind, and Owncloud seemed too heavy.
    Il manque peut-être juste une explication sur la manière de lancer le serveur et le hub au démarrage 😉
    You also managed to set up the sending of notifications by email (for the creation of users and password e.g. RaZ) ? I tried to follow the instructions of the official website, but it did not work with my gmail account.

  • Hello,
    I'm actually going to add a link to the article on the scripts at startup. Good idea.
    For notifications I have configured following the official instructions for sending email. I can now send links to the items in my library directly from the interface. However the configuration file did not exist

  • Christophe

    I added a clarification of the configuration of the sending of mails : by configuring the double validation on my Gmail account and creating a secure access dedicated to Seafile, It works.

  • zodd

    Hello, Thanks for this tutorial ^^ I have a question about this phrase:
    “In the tutorial I used root but I recommend a specific user dedicated only to this service.”
    How do you link a user to a particular service? with the Group sudo ?

    • Good evening,
      The user specific is especially necessary if the two programs are executed manually. In this case no need to sudo. Otherwise another technique is to create a script to put in the init.d directory to automate startup

      • zodd

        Suddenly there is something that escapes me.. What are the two programs? I see that seafile...There is a certainly basic trick that I didn't include..

        • For steps 8 and 9.
          If you want that Seafile be launched at every boot then past a scripted in init ( example here)
          If you want to run it manually after a reboot of Raspberry then it is better to create a user specific (type 'seafile') with the what you gonna do the tutorial.

          • zodd

            OK thanks for the explanation.In fact what escaped me, It is that I did not understand the interest to run manually after a reboot .. Moreover we can do this with any user. I did not used to have a user dedicated to each type of service. It has an interest?

          • I am not specialist security but a user dedicated to separate services and so if a service is hacked it is more complicated to take full control if the user in question is not root
            If you look on unix servers, each service to its user : FTP, sendmail, SSH, etc.

          • zodd

            OK, Thanks for the information. I had not thought but ultimately it is clever.



    I wishes of habord to thank you for your site with which I learn about all the days (I rather Walsh at the base)

    I followed your tutorial to the letter to seafile, However a problem that I cannot solve.

    I can connect to my raspberry/seafile from the outside , so on my box I made the NAT on the default TCP port , namely 10001;12001;8082 and 8000.

    The problem is as follows : I connect without concern from outside (via smartphone or computer) , I can create account on seafile, creates a library, but… soon as it is a file downloader, or uplaoder a file its mouline loop and its is not accomplished…..

    Of course in local , Since I directly attack the ip of the rasp of the style its working so I thought a problem of port forwarding. I have recheck 2 times, the good port are redirected and reboot my box.

    Bref tout fonctionne sauf la fonction download/upload 🙁

    Once again I am a noob in linux, But if you give me the command to run I can te provide conf's seafile server and seafile hub file.

    Last info I tested with 2 Distrib, la moebius et raspian même résultat 🙁

    In advance thanks for the help the community



    Thanks for this super rewind, I would have the say in my 1st post, my box (Freebox revolution in this case) fixed ip is, so it does not change.

    Tonight I will look at the “set service URL” see if its can advance the problem, have you another axis/track I could watch ?

    Thank you


    Hello Chris,

    So I solved my problem, I am just stupid….. Let me explain :

    When configuring the file conf ccnet, I not think, and I stubbornly set the local address of the rasp, and my public address….. voila tout 🙁

    Sorry you have been wasting time with this, hoping that my mistake helps another noob like me.

    Kind regards

  • Flo.R68

    Little stupid question but security level it is as powerful as Owncloud ? Can we add a SSL or is it unnecessary ? (I landed I dig all the subtleties still x) Thanks in advance !

  • Flo.R68

    Ok thank you. What Cloud solution affectionnes you most Owncloud or Seafile ? and what distribution to rotate it ? Wheezy is perhaps a little gourmand and moebius more up-to-date… Merci d’avance 🙂

    • I prefer Seafile because I do that share files. There's also lychee for photos only (Article on this site). For owncloud I find the Raspberry resources somewhat limits (for reactivity ).
      For the distribution I stay on Raspbian with a network installation to have the minimum and up to date. Moebius no longer seems to be kept up-to-date unfortunately

  • Christian

    First of all thanks for this site because I am a novice in this area.
    I have a Raspberry PI with Weezy.
    Prompts you to install Seafile on another user than root, OK. For you, What would be the path (/etc/xx or other)?
    I see on the Seafile website that they against using MySQL if the file storage is external. I intend to use a USB stick. What is your opinion ?
    Thank you

    • Hello
      The user additional is only for limiting the rights of access in the event of hacking. Nothing to do with a path like/etc. To create the user and use it to start the installation.
      For external storage on USB, need to format it in ext4 performance, make an auto mount with a line in the fstab (see here : and specify the path during the installation. For MySQL I know but why not. See if there are opportunities for database more light genre SQLite

  • thomas schneider

    Hello, merci pour ce tres bon tuto ! small 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

    Thank you

  • Yours

    Works niquel.
    By-against when accessing the local web interface, it takes about 10sec to display, like after I auth to get my records, it is frustrating, it's what ? I used the bones of mini netinstall Raspbian and used memory is about 100MB. My rpi model is the Type B, it is he who is too light ?

    Thank you.

    • It is possible. Are you well reduces the amount of memory for the GPU to 1 ?
      Il fudrait aussi regardr l’occupation cpu pendant la connection et voir si ca surcharge bien

      • Yours

        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

          • Yours

            À priori, ça viendrait de Python :

            To the “repos” :
            When connecting :

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

          • Non 🙂 La seulesolutionque j’avais utilisée c’est d’overclocker à 1Ghz avec raspi-config

          • Yours

            Je viens de l’o/c à 1Ghz, malheureusement pour moi, aucun changement… tant pis, ça restera comme ça, le principal fonctionne quand même 🙂
            Thank you for having me help locate the problem.

  • Hello and thank you for the tutorial. Just a clarification can do a dual boot, because I have a media center, and the rest of the time a clood with seafile. Thank you

    • It is possible to do this install on an autee that raspbian so OS or openelec distribution, CA should not be a problem !

  • yep

    Salut beau travail !
    I have a small question, je pense installer Seafile sur un raspberry pi 2, my livebox. Preferably external access (https), but I have no connection top, Reception 800KB / s, sends 100 ko / s..
    So if I want to 100 go en cloud, it will take 1 months uploads, via mon pc..
    But if I am at home in my rj45 livebox, pc et raspberry, do seafile directly use this connection or pass by the net anyway ? (I think so, but if in doubt, I ask ^^)
    Thank you, si t’as la réponse 🙂

  • Hello
    Internally you'll send RJ45 (100Mb/s pour le Raspberry) LiveBox then to the Livebox to your PC (RJ45 ou Wifi). Outward ca will be the same to the Livebox and the Livebox to the Internet and it is this connection that will last the bottleneck (except perhaps if you have fiber)

    • yep

      Re, thank you for your answer ! although it helps me

      After some research, I think from a banana pi, le port Ethernet 1000Mb/s et le Sata me paressent mieux pour faire tourner Seafile 🙂

      Nan and not the fiber, Unfortunately…

  • Hermonie

    Good evening,

    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 🙂


    • Hello

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

      • Hermonie


        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.


  • thomas schneider


    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

    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é

    Thank you


    Messages: 5

    Enregistré le: Mer 11 Nov 2015 04:46

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

  • tom.joad

    Good evening,
    I wish I host my pictures with me because I have more confidence in image hosting so Imageshack.
    Does this system can replace these sites ?

    • The app allows private un.hebergement with public link generation. See the official website of the sharing features and preview.

      • tom.joad

        Thank you.

  • Pingback: Discovering the cloud computing with #Seafile – MIAMONDO()