Skip to main content

Seafile, a self-hosted Dropbox alternative

Seafile is an open-source alternative to Cloud drive services like Dropbox, OneDrive (formerly Skydrive), Google Drive, etc. However those services often require you to accept their terms and conditions in order to authorize the provider to access your private data… which is why I prefer to host my own solution. Remember when a product is free, it is often because YOU are the product… It is never too late to take control back of your privacy and you can build & manage your own Dropbox-like solution thanks to Seafile !

The desktop client is light and the interface simple. It displays the list of librairies (owned by you or shared by another user), synchonize it automatically and that’s pretty much it. You cannot do much with the client appart from synching libraires which keeps the client easy to use. The advanced features like versioning, sharing, etc are available from Seafile’s server UI. The desktop client is available on Windows, Mac OS X and Linux and there is also a mobile app available on iOS and Android. I have only tested the iOS one which is fine but some users may find annoying the lack of offline synchronization.

Seafile desktop clientIf you feel like testing Seafile before setting up your own server (which is not really complicated) you can always try their free offer here. You can also stay with me a little bit more to get through an overview of Seafile server.

I host my Seafile instance on a dedicated server running on an Intel Atom N2800, 2GB of RAM and a 500 GB hard drive. Its footprint is really small and only consumes a few MB of RAM. You can even host it on a Raspberry Pi as they have a specific package for it. Compressing large file with Seafile is the only CPU-intensive operation I noticed. It took a few minutes on my server to compress a 1 GB file which is acceptable given it relies on a low consumption CPU meant for mobile usage (Intel Atom).

Seafile server’s UI is great. It is simple, minimal and reactive. There is no fancy or useless features and it is easy to understand. After logging in, you will land on the homepage displaying your librairies:

Seafile server

You can notice a small lock under “My secured library” – that’s because it is encrypted. You need the passphrase to open it which is different from your seafile’s password. The data is encrypted on the server side so if someone hacks your server, he won’t be able to access your files easily.

Browsing a librairy is simple, just click on it and the content will be displayed. It is possible to keep an history of the modifications and customize the retention period for each library. If you want to restore a previous version of a file, just click retore and Seafile will list all the versions available:

Seafile file historyOn top of that Seafile’s developpers use an algorithm called Content Defined Chunking to improve storage efficiency. It means activating history on a library may not increase significantly the storage consumed. Even better, I noticed my users are storing a total of 51 GB of data but Seafile uses around 46 GB on my server thanks to their deduplication mechanism.

It is possible to share a library, folders or files with users or groups of users registered on your Seafile server. You can also generate a public link so they can download or upload files without registering. It is a great way to quickly share files with friends who don’t have an account on your server.

I am not going to go through every feature as I have presented the one that are the most usefull to me but Seafile has a lot more to offer. I think a great tool to collaborate (I wish my company was using it…), it is lightwieght, simple and reliable. The development around Seafile is very active and the team brought great enhancements to their product over the last year. They made a great work to keep it simple and full of those little features that make your life easier. They also did a very good job with the documentation and you can find a lot of details on their website. Install Seafile server, create virtualhost for Nginx / Apache, enable https, configure your firewall, tweaking server conf… everything is explained step by step in the manual. If you feel like trying it, just keep reading and follow the tutorial below !

Installation

This tutorial has been created for Debian Wheezy but should work on most Linux distributions.
1) Install dependencies (as root)

2) Create a user for Seafile, download and install it

Visit http://seafile.com/en/download/ to get the link to the latest version.

Follow the instructions of the install script to complete setup.

3) Start Seafile server:

You will be asked to create an admin account.

You can now access Seafile by browsing to http://your-server-ip:8000.

 

Virtualhost configuration

If you prefer to configure a reverse proxy (Apache or Nginx) to access Seafile using a domain name and a SSL connexion, follow the instructions below (don’t forget to replace seafile.freedif.org with your domain).

1) Generate self-signed certificates
2) Configure your domain under Seafile (as seafile user)

Edit /home/seafile/ccnet/ccnet.conf and modify the value of SERVICE_URL as below (replace seafile.freedif.org with your domain)

Then edit /home/seafile/seahub_settings.py and add the line below (replace seafile.freedif.org with your domain):

Finally, restart Seafile and enable fastcgi

3) NGINX configuration

Create a virtualhost (e.g. under /etc/nginx/sites-enabled/seafile.freedif.org), copy the following content (replace seafile.freedif.org with your domain), restart Nginx and that’s it !

3-bis) Apache configuration

If you prefer to use Apache instead of Nginx, follow the instructions below. Install dependencies (as root)

Enable mod_rewrite, mod_fastcgi, apache proxy and ssl.

Enable fastcgi in Apache config file under /etc/apache2/apache2.conf:

This is valid for Apache 2.2. If you are using a different version, please consult Seafile manual for configuration. Create a virtualhost (e.g. under /etc/apache2/sites-enabled/seafile.freedif.org), copy the following content (replace seafile.freedif.org with your domain), restart Apache and that’s it !

OpenSource RSS Reader – Leed (Light Feed)

leed logoAs stated in my very first article on building a list of interesting RSS Readers, to install and try some of them on my own server to replace Flipboard, Newsstand, Feedly and others RSS Readers, here is my next article on Leed.

Leed (Contraction of Light Feed) is a RSS Reader free and opensource, under  CC-BY-NC-SA. With a responsive design, Leed can be consulted on any platform/device (PC, Tablet, Smartphone,…), made to be self hosted, Leed is optimized to improve the user experience through good performance and based on latest web technologies (HTML5, CSS3,…). Although it doesn’t support yet the multi-user, it will come in their V2, as the roadmap shows.

 

Leed - Screenshot

Leed has a growing community (mostly French) that have developed & shared some plugin and themes to enhance Leed.

Obviously, the best for you is to try their demo!

Interested? Here is how to install it on your server.

 

Installation

They recommend using Apache (Not testing with others), >PHP 5.3, MySQL and some “common sense“. If you don’t have Apache, PHP and MySQL, please follow my previous tutorial. For common sense….well can’t help there…no tutorial to offer \o/

1) In your /var/www download the latest stable version

2) Extract the archive and rename it as “leed”

3) Change folder owner to www-data (To give permissions to Apache)

4) Go to http://IP/leed with your favourite Web Browser to access to the web installer.

You will need to provide the information of your MySQL database. You can use PHPMyAdmin to create a dedicated database on your server.

Leed - Installation

When done, you will have access directly to the admin interface to modify the preferences. It should be pretty straightforward.

And finally remove the install.php for security.

5) Set up a cron job to update regularly your feeds.

Access to the crontab file (in root)

and copy/paste at the end:

It will refresh your feeds every hour.

That’s all! You should now have a working Leed RSS Reader, so don’t forget to add my RSS feed!!

 

Virtualhost configuration

Now you got your RSS reader working and you want to access it from rss.domain.tld or directly from mywebmail.tld, instead of using the IP/leed link, you will need to set up a virtualhost. And you could force HTTPS connection.

You will need to:

1) Create a A redirection in your DNS server/registrar

2) Have SSL certificate ready. If not you can read this tutorial.

3) Create your virtualhost as following:

In /etc/apache2/sites-enabled/, create a file called leed (In root):

and paste/adapt the following content:

Adapt the content (Servername, webmaster, SSL certificate and directory, …).

The first part will redirect all the connection from port 80 (HTTP) to port HTTPS (port 443) to force secure connection. If so, please configure your SSL certificate.

When done, save the file (CTRL+X then Yes) and reload apache: (In root)

You should now be all set!

XBMC 13 (Gotham) is out!

XBMC 13 GOTHAM LOGOAfter 2 long months, XBMC 13, alias Gotham has been released in its final version!

For whose who don’t know XBMC, it’s a free and Open Source (GPL) media player and entertainment software (Usually for your home theater PC) to play and view your videos, musics, podcasts, ….from local or network storage media or even through internet. It can display the art cover and download from different sources, your movies and tv shows information (Trailer, description, covers, etc…)

 

The strength of XBMC is also its large list of plugins developed by the community, extending a lot its feature (Torrent download, youtube, RSS, TV stream, … and many more plugins)

It can be installed on Linux, OSX, Windows, but also even on iOS and Android!

You can download the latest version directly here.

The list of changes is long but they particularly improved the 3D rendering, touch screen are now better supported, a new option has been added to read on remote device like DNLA compatible device and many more.

For more information on this new release, please read the XBMC v13 changelog.

OpenSource RSS Reader – FreshRSS, probably the best…

FreshRSS - LogoFreshRSS is a free, self hostable, rss aggregator, they actually claim to be the the best one out their but only “in their opinion”, which is a funny statement that I’ve pushed me to try it out!

 

They got a running demo (demo/demodemo) to let you give a try or directly a quick link to their latest archive to install on your own server.

Written in PHP, FreshRSS is a simple to install yet with great features such as Multiusers, feeds statistics (how many articles per feed, per category, …), with keyboard shortcuts, Multi-languages at the installation, it also includes some social media sharing features (Twitter, Facebook, Google+) or simply by email but also with Shaarli, Wallabag or your own Diaspora pod! Its responsive design will also deliver a good experience for mobile devices!

It can access any HTTP protected (username/password) RSS feed and embed an archiving feature to regularly clean the old articles (3 months per default).

FreshRSS - Feeds

However no need to have necessary short archiving time if you fear about slowness of your instance as FreshRSS handle more than 100k articles without hassle.

So, best out there? Well, FreshRSS is clearly a good piece of work and one of my favourite among the previously reviewed Sismics Reader and Selfoss. The only missing feature for me will be the social network follow up (Twitter and even Youtube), although some 3rd party solutions exist such as RSS-Bridge, having everything included will be best as does Selfoss.

FreshRSS is still actively maintained, so we might have new features coming up this year!

FreshRSS - Github

Interested to run your own instance? (You should!) Here is how to:

To install FreshRSS, you will Apache2, PHP5.3.7+, MySQL 5.0.3+. If you don’t have them, please follow my previous tutorial on how to install a LAMP server.

Installation

1) Create a dedicated folder to install FreshRSS:

In root (su), type:

2) Download and extract the latest FreshRSS archive

3) Change the owner of the folder to ensure apache web user can access

4) Install the needed PHP modules: (cURL, php-mysql,

5) and proceed to the Web UI installer

Just point your web browser to http://IP/freshrss/p

FreshRSS - Installation

The step 1 will check if there are any requirements not met. If all green, you can proceed to step 2, on the general configurations (How long to keep articles, authentication method, …).

On Step 3, you will need a MySQL database, if you don’t have one ready, I suggest you to use PHPMyAdmin to create one easily.

Then simply follow the rest of the steps.

You should now have a a working FreshRSS service running on your server, so don’t forget to add my feed to keep in touch!

FreshRSS - Login

Virtualhost configuration

Now you got your RSS reader working and you want to access it from rss.domain.tld or directly from mywebmail.tld, instead of using the IP/freshrss link, you will need to set up a virtualhost. And you could force HTTPS connection.

You will need to:

1) Create a A redirection in your DNS server/registrar

2) Have SSL certificate ready. If not you can read this tutorial.

3) Create your virtualhost as following:

In /etc/apache2/sites-enabled/, create a file called freshrss (In root):

and paste/adapt the following content:

Adapt the content (Servername, webmaster, SSL certificate and directory, …).

When done, save the file (CTRL+X then Yes) and reload apache: (In root)

You should now be all set!

Open data – Why not starting by a Yogurt?

I’m a big fan of open source softwares (and it could be free as free speech, it can be even better !) and tend to support open data initiative (Quite important with the data coming from the government in my opinion).

But today I found an interesting initiative called “What’s in my yogurt?

Yogurt

The aim of this project is to establish the content of our yogurts in an open database. Actually, no need to open any yogurt as the ingredients and nutrition facts are on the label.

They are keen to open any type of yogurt (Organic or not) at any flavour, type of milk (Cow, goat, camel, …) and in any country.

It’s actually quite easy to do so, just install their mobile application or directly go to their web platform, and add a picture, bare-code (Or just scan it with your smartphone) and the content to their database.

Available on Google PlayWindows Phone StoreAvailable on the App Store

 

This will help buyers to decrypt them like what are all these Exxx (“Only” 1500 out there), but also will help to search (without specific allergens for example) and compare yogurts among themselves.

Quite easy and fun to do.

And you, are you already participating in any open data initiative? Or may be you are already participating on this one?

 

Yogurt