Seafile - A Dropbox Replacement
One of the joys of having your own server is the ability to run your own Cloud Server. Everything exists in the mysterious Cloud however I can assure you the Cloud is quite landlocked somewhere in a little box plugged in the wall. In this case it is in your own home, or Hillary Clinton's bathroom closet. Gotta put it somewhere where you can like wipe it with a cloth from time to time.
Everybody seem to install OwnCloud and OwnCloud is pretty cool but I JUST DON'T LIKE IT. I've dabbled with it for years and it just does too much and it does all that not very securely, in my mind. Your mileage may vary. So I have to figure that in Linux there are all manner of Cloud Server platforms and a simple Google search confirmed I was right. These are but a few of the options out there.
Always hovering on every list just about that you look at is one called Seafile that I decided to check out.
Seafile installation is not for the faint of heart and does require SOME linux skills. They have a pretty good user manual which has bailed me out a few times but I find it to be a little disjointed. The information is all there, just sometimes not where you'd expect it to be. Here's what Seafile does for you though once you get it installed.
- Cloud Server - Duh
- Ability to sit "behind" Apache2 or Nginx web servers making it https accessible.
- Desktop Client which stores files locally. You upload to the "Cloud" and it automagically updates your local storage.
- Along those lines they are working on something called "Seafile Drive" which holds your files virtually on your desktop. What that means is you get the list and then download on demand. In this day and age of small devices and inexpensive laptops with small drives that's great to hear. However, in this day and age where there are still places with crappy cell phone service, data limits, dead spots, etc..........that may not always be the way to go. It is available now for Windows only with Mac and Linux clients promised in the near future.
Again installation is kind of weird, but easy. You download the program in a tar.gz format, unzip it and basically it is installed. However you then need to configure the Apache2 000-default.conf file or for Nginx browser create a seafile.conf file in the /etc/nginx/sites-available directory. And trust me when I say I'm oversimplifying here.
Then you have to configure a couple files in Seafile itself (ccnet.conf and seahub_settings.py) then manually start the program. Once you're good and sick of manually starting the program you can configure systemd to start it at boot.
Again ALL THIS STUFF IS IN THEIR USER MANUAL. Ultimately you just follow along and cut and paste. Installing their program is not so hard but I had a little trouble with my NAT firewall. Seafile running as http needs ports 8000 and 8082 open and running as https needs only port 443. When configured as http I had a problem where my ISP blocks http port 80 where every web server is installed by default. There are easy ways around that but I'm not going into it here. Suffice to say you can configure it in http or https either way. I went with https.
Okay so now I have it installed and configured and now pointing to my website. And I have installed the Desktop client for Mac Lets take a peek.
Hysterical guy that I am I customized their logo (also in the manual) and made mine say "Hagenserver" HA! Seafile has libraries where you upload your Cloud data. I named my library the Library of Johngress. Double HA! Any library you make can be password encrypted as well. So so far we have Seafile existing on an https web site, with a secure login and now we have a secure library. With the client software installed on Mac you add a folder called Seafile to your user directory and then can see it in the Finder window as in the red circle below. If I add a file here anywhere via the browser of just drop it in the finder window it syncs. If you have Seafile on another computer it will sync there too.
This is a true Dropbox replacement and behaves very similar to Dropbox on the Mac platform. BUT IT IS UNDER MY TOTAL CONTROL. I have no real idea what Dropbox is doing to my stuff. Maybe they sell it to Julian Assange, I don't know.
So anyway that is a very very brief review of Seafile. The salient points are here:
- The Community Edition is Open Source and FREE
- The Pro Version is FREE for up to 3 users. That is what I am running.
- Seafile works like Dropbox.
- Seafile is fast and syncing is quite fast
- Stable. Haven't had a hiccup yet.
- Configurable. Slap your logo on it, among other things.
- Easy to update via script
- Security. I'm no security pro but an endorsement from Kaspersky Lab on their page is good enough for me. I believe they are the gold standard in security and if they use it then its probably good enough for me.
- An unusual installation routine which won't start at boot (unless you manually create systemd processes or script files)
- Information scattered about the manual. For example if they covered a configuration point in the Community Edition and you were working with Pro the manual doesn't say "to do this or that" it just kind of assumes you know to do it because they mentioned it in the Community Edition part. Another thing I noticed was they say "Change the path of the logo file in seahub_settings.py........that line isn't in a default installation to begin with. They should say "Add the following line to seahub_settings.py........"
- Firewall documentation is accurate but sparse. In their defense there a million different firewall or router firewall implementations. Hey, if you're running a Cloud Server on a Server appliance you probably should know something about firewalls.
In conclusion. If you've ever wanted to run your own Cloud server similar to Dropbox AND enhance your mad Linux skills then Seafile is for you. For any limitation I may have mentioned, it is well worth the trouble and is very, very cool. Highly recommended.