Home > FOSS, Opinion, ownCloud > Raspberry based Private Cloud?

Raspberry based Private Cloud?

Here is something that might be a little outdated already, but I hope it still adds some interesting thoughts. The rainy Sunday afternoon today finally gives the opportunity to write this little blog.

Recently an ownCloud fork was coming up with a little shiny box with one harddisk, that can be complemented with a Rapsberry Pi and their software, promoting that as your private cloud.

While I like the idea of building a private cloud for everybody (I started to work on ownCloud because of that idea back in the days), I do not think that this example of gear is a good solution for private cloud.

In fact I believe that throwing this kind of implementations on the table is especially unfortunate because if we come up with too many not optimal proposals, we waste the  willingness of users to try it. This idea should not target geeks who might be willing to try ideas on and on. The idea of the private cloud needs to target at every computer user who wants to store data safely, but does not want to care about longer than ever necessary. And with them I fear we only have very little chances, if one at all, to introduce them to a private cloud solution before they go back to something that simply works.

Here are some points why I think solutions like the proposed one are not good enough:


That is nothing new: The hardware of the Raspberry Pi was not designed for this kind of usecases. It is simply too weak to drive ownCloud, which is an PHP app plus database server that has some requirements on the servers power. Even with PHP7, which is faster, and the latest revisions of the mini computer, it might look ok in the beginning, but after all the neccessary bells and whistles were added to the installation and data run in, it will turn out that the CPU power is simply not enough. Similar weaknesses are also true for the networking capabilities for example.

A user that finds that out after a couple of weeks after she worked with the system will remain angry and probably go (back) to solutions that we do not fancy.

One Disk Setup

The solution comes as one disk setup: How secure can data be that is on one single hardisk? A seriously engineered solution should at least recommend a way to store the data more securely and/or backup, like on an at homes NAS for example.
That can be done, but requires manual work and might require more network capabilities and CPU power.

Advanced Networking

Last, but for me the most important point: Having such a box in the private network requires to drill a whole in the firewall, to allow port forwarding. I know, that is nothing unusual for experienced people, and in theory little problem.

But for people who are not so interested, that means they need to click in the interface of their router on a button that they do not understand what it does, and maybe even insert data by following an documentation that they have to believe. (That is not very much different from downloading a script from somewhere letting it do the changes which I would not recommend as well).
Doing mistakes here could potentially have a huge impact for the network behind the router, without that the person who did it even has an understanding for.

Also DynDNS is needed: That is also not a big problem in theory and for geeks, but in practice it is nothing easily done.

With a good solution for private cloud, it should not be necessary to ask for that kind of setups.

Where to go from here?

There should be better ways to solve this problems with ownCloud, and I am sure ownCloud is the right tool to solve that problem. I will share some thought experiments that we were doing some time back to foster discussion on how we can use the Raspberry Pi with ownCloud (because it is a very attractive piece of hardware) and solve the problems.

This will be subject of an upcoming blog here, please stay tuned.


Categories: FOSS, Opinion, ownCloud Tags: ,
  1. Berend
    December 11, 2016 at 16:40

    I run a raspberry pi 2 with owncloud, on a dynamic dns, and I recently decided to discontinue owncloud. Here’s why:

    An owncloud update (security update) changed some PHP files that suddenly required a 64-bit CPU. The Pi2 is 32-bit. So a security update suddenly made my owncloud installation stop. That’s simply not acceptable.

    The change was eventually fixed, and it runs on 32-bit again; but it was clear that the Owncloud developers aren’t concerned with the RPi.

    Can you imagine a non-geek tracking down an incompatibility between owncloud and 32-bit processors that happens on a security update?

    • dragotin
      December 11, 2016 at 20:50

      Yes, not a good thing. But I am actually of the opinion that ownCloud should not support 32 bit platforms any more. 32 bit means a hard file size limit which is exceeded pretty soon with nowadays movie files for example. That is very hard to handle properly and does not make sense in my opinion.

  2. December 12, 2016 at 10:47

    I use NextCloud on my Raspberry Pi 2 and I find it sloooow in syncing, especially on other locations. I’m a multi-locationary guy at the moment. I think the mayor problem is my internet connection which is like all common ADSL connections fast down (20Mbit/s) and slow up (1 Mbit/s) while the other connection on other places has the same problem. So finally I end up with a (1 Mbit/s / 1 Mbit/s) connection. I conclude that an NextCloud/OwnCloud system should be hosted at a datacenter and not at home on a Raspberry Pi. The solution is simple. Simply paying money to have a Debian system somewhere on a rack. Something I will do when my multi-locationary is for a longer period.

  3. December 12, 2016 at 12:52

    What exactly makes ownCloud the right tool to solve those issues, compared to that shady ownCloud fork you were writing about?

    • dragotin
      December 12, 2016 at 17:51

      I do not want to compare ownCloud with any fork here. I only think that ownCloud would be a good tool to implement the “private cloud”, if the described problems can be be addressed.

  4. Andrius
    December 12, 2016 at 16:47

    Yeah, I also found owncloud syncing to be just too slow even on the systems that are more powerful than Rasbperry Pi 2. Synching seems to offer far superior speeds for synchronization… On the other hand owncloud/nextcloud offers an easy way to create a sharable links.

  5. Micha Ehl
    December 13, 2016 at 12:39

    I’m running the same setup as Berend in the 1st posting. I don’t use it very much as data exchange or video file distribution. But it’s just perfect as sync server for addressbooks and calendars for different mobile devices an PCs. It just doesn’t make a difference, which cpu is justed, when you only transfer a few bytes.
    So i don’t have to use iCloud or Google – and i love it!!!

  6. Pozoi
    December 14, 2016 at 15:53

    What about π 3? With 64-bit quad-core processor it should run ownCloud mucho better – any experiences or plans?

  7. Fischmuetze
    December 19, 2016 at 19:05

    I use for more than one year my own owncloud server – at first on a Raspberry Pi 2 now on a Raspberry 3. I’m very satisfied with this. The solution is working wonderful stable and reliable. This server is not only hosting the owncloud for my family, it serves also a tt-rss server for deliver newsfeed aggregation.

    Some words to my configuration and performance optimizations:
    The biggest handicap for an Raspberry Pi (at least for the model 3) isn’t the processor to handle php or http access. The biggest handicap in sense of performance are read and especially write accesses to the SD card. Also the life expectancy of a SD card is much shorter as of any HD drive if it gets a high number of write accesses.

    For a comparison:
    My SD card provides max
    10.3 MB/s for write access
    22,2 MB/s for read access

    My USB SSD drive provides max
    34.4 MB/s for write access
    34,1 MB/s for read access
    (there is no significant different between read and write as the performance for the USB SSD is limited by the USB 2.0 port)

    As you can see there is a dramatically difference between the harddrive connected at USB and the SD card.

    If we look at the locations of the Raspbian filesystem where the most read and write access are happen we will find out that this is over all /var. In /var are hosted MySQL-databases and also all log files which are permanently accessed for write events.

    If we look at the behavior of owncloud we see
    – a lot of read and write accesses of the MySQL Serevr
    – a lot of write accesses to logs via php, nginx (resp. apache)
    – a lot of read and write accesses to the data directory

    All this accesses plays in /var (of course only if your data path of owncloud is also stored in var)

    In my configuration I mounted my external USB-SSD at /var. This provides the most available disk performance at the point where it is at mostly needed.

    Also I follows all performance tips for increasing the performance by using php-fpm, using nginx instead apache, activate php caching methods and disable all not needed daemons.

    I’m very satisfied since I’m using this setup.

    • dragotin
      December 19, 2016 at 21:48

      Thanks for this comment, Fischmütze.

  8. Andreas
    January 13, 2017 at 07:42

    Like many others I am using a raspberry pi with owncloud since mid of 2013. The main use is syncing the calenders with my family and just a little of file synchronization. This solution requires a little fun in programming, e.g. to get automatic updates, backups and a sufficient level of network security. The experience with this set up is very good so far:
    – Low cost
    – Low power consumption
    – Manual maintenance maybe required twice a year (usual uptime more than 200 days)
    – A new SD card after 1 or 2 years (last one is active for 2 years now)

    As the author of the article writes I would not recommend such a set up for everybody. But I would not damn it either.

    • dragotin
      January 13, 2017 at 09:36

      Thanks for your comment, and fully agreed, there is no need to damn. It is only that people should not expect wonders out of that setup, but should be very aware of its limitations. We’re on the same side 🙂

  9. rico
    January 28, 2017 at 23:15

    Hi 🙂

    I am running a Owncloud installation on a Pi 3 with an external harddrive. Also running WordPress an email server with Dovecote and Postfix. All on https with Lets Encrtypt free SSL cert.

    I do not work in I.T. and just followed online guides. My IP is fixed which makes it slightly easier. My reason for doing this is having control of my own data and learning.

    I run 3 routers for the network 1 = home network 2 = IOT things 3 = Pi owncloud/email server. Home connection speed in the UK is 19Mbps up and 68Mbps down. Storing video, pictures and documents works well for me. I also share content with friends and family, which also works well.

    To help check security of my setup I use online services to check the setup. Like MX Tools/SSL Labs etc

    I agree that a normal user would not be interested in setting all this up. But in my experience the Pi 3 performs very well.

    As for back up I image the Pi 3 SD card once a week. I have Crashplan running on my PC which backs up the Owncloud folder.

    In conclusion, performance seems fine I do not experience a noticeable difference between using other Cloud providers like Google or Dropbox etc.(not scientifically tested).

    I agree that the average user will not see this as a viable option.

    Security mistakes as you say can expose your network but if you have a general understanding of port forwarding, following tutorials and are not risk adverse I would say do not be put off using a Raspberry Pi 3 for a Owncloud home installation. I have really enjoyed the process and it works well in my usage case 🙂


  1. December 11, 2016 at 15:35
  2. December 12, 2016 at 07:12

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: