The most popular self-hosted storage out there is, without doubt, Owncloud. Until recently, I've been using it quite extensively, mostly because of the "security" it provides - all the files are stored on my own server to which only I have exclusive access.
Owncloud is great, but I've noticed over the time, that it can be somewhat laggy and the mobile web interface is unusable on my Blackberry Q10. What is more, the default web interface is rather dull and boring. So, I've decided to seek for an alternative. Unfortunately, there are not that much worthwhile self-hosted storage solutions out there. Owncloud is, and will be, I suppose, the number one choice.
However, my attention was caught by one decent, in my opinion, alternative - Pydio.
Just like Owncloud, this cloud storage is intended to be set up on a personal server (be it home server, VPS, or PaaS). Both Owncloud and Pydio (short for Put Your Data In Orbit) have advanced web interfaces with a wide range of available plugins, and both have cross-platform Dropbox-style synchronization clients. I have not yet personally tested the desktop/mobile client, but they claim their desktop sync client can handle 20k to 30k files.
There is also Android client for Pydio which is claimed to work just fine, with minor bugs, as well as iOS one. Desktop sync client is still in beta, though. In my opinion, this is one of the most important features that a cloud-storage platform can have, and I'm not sure that I'd want to trust my data to a beta release. However, it's nice that it has multi platform support: Mac, Windows, Linux. There is also Thunderbird integration plugin, and CMS authentication bridge, e.g. for WordPress!
For larger data, this has a better solution compared to Owncloud. It also has many plugins that allow you add additional features to preview or edit the data. All of this is running on a modern platform with bright future.
- Central server with file-revision history
- Web interface with file management and link sharing
- Dropbox-style synchronization with Pydio Sync (in beta)
- Multi storage configuration (SFTP, local, samba, POP3/IMAP, MySQL, Amazon S3, WebDAV)
- Loads of plugins and integrations.
- Yet unknown.
Pydio Repository Installation
Now comes the most important part. How exactly can you install Pydio on your own server? It's pretty straightforward. There is a choice of manual installation (from archive) or from Linux packages.
For the second solution:
Enterprise Linux RPM Installation (CentOS, RHEL)
Install the Pydio repository:
sudo rpm -Uvh https://dl.ajaxplorer.info/repos/pydio-release-1-1.noarch.rpm
This will install /etc/yum.repos.d/pydio.repo which configures the repository, allowing update management. Once installed, update the yum database and install Pydio:
sudo yum update sudo yum --disablerepo=pydio-testing install pydio
Restart Apache, then open https://pydio.server/pydio.
DEB packages Installation (Debian, Ubuntu)
You'll have to manually append the following lines in your /etc/apt/sources.list file:
deb https://dl.ajaxplorer.info/repos/apt stable main deb-src https://dl.ajaxplorer.info/repos/apt stable main
Then you have to install the public key using the following command:
wget -O - https://email@example.com | sudo apt-key add -
Finally, update the apt-get database and install Pydio:
sudo apt-get update sudo apt-get install pydio
Copy the Apache config sample:
sudo cp /usr/share/doc/pydio/apache2.sample.conf /etc/apache2/sites-available/pydio sudo a2ensite pydio
Restart Apache, then open https://server.path/pydio.
Deploy Pydio in a Jelastic cloud
This solution is great when you don't have your own home server and still want to have your own, personal cloud storage. With help come cloud services, VPS hosting companies or PaaS providers e.g. Jelastic PaaS. The Jelastic platform itself offers a wide range of unlimited, flexible server solutions, possible to deploy web applications written in Java, PHP, Python, Node.js, Ruby. Jelastic is based on well known products which are usually used on dedicated servers. For application with high load there is a possibility of vertical and horizontal scaling of resources. Everything is set up by this simple form.
A number of hosting companies partners Jelastic and offers server solutions to host your web applications. One of the partner companies, based in UK, is Layershift, when you can pretty straightforward try the Pydio installation. In order to deploy Pydio in Jelastic PaaS, first, create an account (the initial trial period lasts 14 days). Don't get put off by the prices, as they're only overestimates based on average user consumption.
The real cost of Jelastic hosting is really low and depends ONLY on CPU and RAM consumption. Disk space and traffic is completely free! The trial period will show you your real usage after which you can decide if you want to stay or leave with no consequences and hidden fees.
Once the signup is completed, you can prepare the server to host your very own file storage. Log into your Jelastic Dashboard, create new environment:
Choose PHP environment, add Apache node, choose number of cloudlets. Next, we need a database storage, so add SQL node. The choice is wide, however Pydio supports only MySQL engine, so you can choose between MariaDB and MySQL.
Add public IP if you want the storage to be configured as a subdomain of your existing domain, specify Jelastic environment name, and that's it! Once the environment is deployed, you will receive email with MySQL login details and can start with Pydio deployment.
Download the latest stable release, upload it to your Jelastic account:
Add a database and user for Pydio, and continue with the setup wizard!
Fast and simple.
If you encounter any warnings from the wizard, you can easily adjust PHP settings (like file upload size) from within the Jelastic Dashboard:
To get more on Jelastic PaaS, visit their Documentation or pop a question to hosting support team, who would answer all your questions.
So far, I'm really pleased with Pydio's performance and reconfigurability. It's UI is really nice, responsive, and so much faster than Owncloud!