Dropbox Like functionality using freenas

Status
Not open for further replies.

Raymond Matos

Explorer
Joined
Dec 19, 2011
Messages
64
So i wanted to go over some methods that can allow you to run your own cloud storage server. I have not tested every case but one. But in theory there is no reason they shouldn't work.

1. Background -

Dropbox - So lets just discuss what dropbox is. Dropbox is in its most simplest form, is a syncing service. You have a local folder that syncs to a web server, when connecting multiple computers, they all sync to the web server.

Cloud Storage Services- Amazon Cloud Drive, iCloud, Skydrive, etc. These are basically a web server that stores your data, these offen get mounted as a network share drive, and files do not have to be stored on the local computer.

Freenas - Well you should already know, but the key point is "local" network attached storage.

2. Problems -

So the main problem i will try to solve is how does one access this local NAS outside of the home (local area network). These are some of the options i seen so far.
-VPN - usually requires a vpn server or a router that supports it (ddwrt)
-FTP - well its FTP, there are some ways to mount a ftp server as a drive, but its still FTP.
-sFTP - Same as above just a little more secure.
-SSH pass though - I hear alot about this, but have yet to find a easy method to get this working.
AND
-webdav - it a protocol used for managing and storing data over http.

Well as we all know, webdav is not supported in freenas yet, but should be soon, if not natively with plugins.

But if your like me and want to have it now, there are a few options to get this working. You can look around the web for a whole bunch of webdav servers based in all different languages, but i decided to go with a open source php app called owncloud, besides webdav it also supports a whole bunch of cool features including a really nice web UI.

Well since freenas doesnt have a web server i install it on another machine running centos, you can find how to set it up here http://owncloud.org/. I then mounted a NFS share to my freenas box and bam now i got webdav plus more.

Well now to the syncing, downloaded this software http://www.goodsync.com, and setup a webdav server and pointed it to my local folder.

All in all i got about 10TB of "cloud" storage with dropbox like syncing. And i could always mount the webdav server as a network drive.

I will post more details about setup in the near future but i wanted to get this out because everyone keeps asking for dropbox like functionality.

Once freenas 8.2 comes out, i will look into running owncloud off the web server.
 

Hi-Liter

Explorer
Joined
Oct 6, 2011
Messages
83
You could use Unison instead of goodsync, then you don't have to pay for each client license.
 

pmow

Cadet
Joined
Oct 3, 2011
Messages
4
Webdav is okay and all, but for Delta versioning like Dropbox has, Sparkleshare looks to be better. The Windows client doesn't have an installer (yet) and so I'd say for the time being the setup on the client is just as difficult, but it's designed to sync. In my experience with Dropbox, there are a lot more settings on the client to go wrong.
 

imdos

Dabbler
Joined
Feb 23, 2012
Messages
34
dropbox is possible with perl installed and dropbox-api ...

This requires however some modifications, but if you're interested, drop me a pm.

Then you'll be able to do a rsync of a folder (download or upload) fro the CLI.
 

Stenull

Dabbler
Joined
Aug 22, 2011
Messages
45
dropbox is possible with perl installed and dropbox-api ...

This requires however some modifications, but if you're interested, drop me a pm.

Then you'll be able to do a rsync of a folder (download or upload) fro the CLI.

Me R also interested in dropbox running on freenas. Could you perhaps do an How-To?
 

imdos

Dabbler
Joined
Feb 23, 2012
Messages
34
Me R also interested in dropbox running on freenas. Could you perhaps do an How-To?

Code:
mount -uw /
#####################################################
# Install packages from the repository
#####################################################
pkg_add -r perl 

#####################################################
# Perl
#####################################################
ln -s /mnt/USB/extensions/.cpan/ /root/.cpan
ln -s /mnt/USB/extensions/.cpanm/ /root/.cpanm
ln -s /mnt/USB/extensions/.dropbox-api-config /root/.dropbox-api-config
#mv /usr/local/lib/perl5/5.10.1/ /mnt/USB/extensions/lib/perl/5.10.1/
#mv /usr/local/lib/perl5/site_perl/ /mnt/USB/extensions/lib/perl/site_perl/
# Restore the perl config instead of using the blank one.
#cp /mnt/USB/backup/Config.pm /usr/local/lib/perl5/5.10.1/CPAN/Config.pm
# Nasty fix for Extutils::Makemaker failure
#cp /mnt/USB/backup/BSDPAN-Packlist.pm /usr/local/lib/perl/5.10.1/BSDPAN/ExtUtils/Packlist.pm
# Get it from : http://dl.dropbox.com/u/14179357/BSDPAN-Packlist.pm 
# Link perl modules to USB stick, to survive upgrades and safe space
rm -rf /usr/local/lib/perl5/5.10.1/
rm -rf /usr/local/lib/perl5/site_perl/
ln -s /mnt/USB/extensions/lib/perl/5.10.1/ /usr/local/lib/perl5/5.10.1/
ln -s /mnt/USB/extensions/lib/perl/site_perl/ /usr/local/lib/perl5/site_perl/
# Some of the libs required which I installed through the separate modules via extraction of the source .tbz files. 
cp /mnt/USB/backup/bin/* /usr/local/bin/


Then you need dropbox-api (https://github.com/s-aska/dropbox-api-command
) and some required modules via perl -MCPAN -e shell or get cpanm (via http://search.cpan.org/~miyagawa/App-cpanminus-1.5008/lib/App/cpanminus.pm).

Good luck
 

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
This would be much better if done in the plugin jail. Adding packages to the base install is a BAD idea. People just can't seem to understand this, but should try.

If I get some time, after I finish figuring out plugins, I'd be happy to create a plugin for this.

(Thanks Stenull & Matlock :) )
 

Stenull

Dabbler
Joined
Aug 22, 2011
Messages
45
This would be much better if done in the plugin jail. Adding packages to the base install is a BAD idea. People just can't seem to understand this, but should try.

If I get some time, after I finish figuring out plugins, I'd be happy to create a plugin for this.

(Thanks Stenull & Matlock :) )

DropBox plugin would be super!!
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I wouldn't plan on an actual Dropbox plugin. Dropbox afaik is closed source. Unless the company makes one I wouldn't expect it.

Now a dropbox-like plugin is possible if someone is THAT motivated. I bet there's an open source version out there in development somewhere that could be migrated.
 

riste

Explorer
Joined
Jul 20, 2012
Messages
52
Open source is always a better choice. But if someone got "dropbox" to work it would be great for me personally.
 

cheezehead

Dabbler
Joined
Oct 3, 2012
Messages
36
What about using something like the free version of crashplan and then have the client installed on one system where physically the freenas build is and point it's storage directory to a CIFS/NFS-mounted share? This would be free and allow for no storage limit. It's not open source but would allow for more space without any of it being stored in the public cloud.
 

pirateghost

Unintelligible Geek
Joined
Feb 29, 2012
Messages
4,219
What about using something like the free version of crashplan and then have the client installed on one system where physically the freenas build is and point it's storage directory to a CIFS/NFS-mounted share? This would be free and allow for no storage limit. It's not open source but would allow for more space without any of it being stored in the public cloud.

except crashplan doesnt store files in their default/normal state. it creates its own structure and naming convention. crashplan doesnt act like dropbox in that sense.

owncloud would be an EXCELLENT alternative to dropbox on FreeNAS
 

imdos

Dabbler
Joined
Feb 23, 2012
Messages
34
This would be much better if done in the plugin jail. Adding packages to the base install is a BAD idea. People just can't seem to understand this, but should try.

If I get some time, after I finish figuring out plugins, I'd be happy to create a plugin for this.

(Thanks Stenull & Matlock :) )

There isn't that much space wasted through the installation of my additions. I have uncommented the lines which moves all large directories to an additional USB-stick.

What else would be the large blocker?

I have this in a restore-script which I run after each upgrade. Furhtermore I add these modifications to /conf/base where required.

O, and before 8.2.x there wasn't a real jail alternative.
 
Status
Not open for further replies.
Top