Server: IPFS as external storage node

Created on 13 Jul 2016  路  14Comments  路  Source: nextcloud/server

One of the key promises of ownCloud / Nextcloud is obviously decentralisation. One of the key current challenges with people running their own servers though - especially home users - is losing the benefits of being on distributed infrastructure that offers things like redundancy if one machine goes down, and speed benefits from having servers closer to the recipient request, etc.

At first this seems like a complicated, difficult problem to solve, but it's a problem that's largely been solved already by IPFS (aka InterPlanetary File System). Acting as an IPFS storage node allows for stored files to be redundantly stored across other nodes so they're still available if the original server goes down. It also allows for faster serving of large files by enlisting multiple, closer nodes. It also handles encryption of data on other nodes. And versioning. And it's use is actually pretty darn simple. There are highly tested API bindings in JS, and also bindings in PHP.

So what I'm requesting, is that we add an IPFS storage type for Nextcloud that makes the server into a IPFS node. Thanks.

enhancement external storage

Most helpful comment

+1 up
What is the reason for closing this nice enhancement ?

All 14 comments

I would also like to see support for IPFS.
The major downside seems to be the added space used to host the files in IPFS. There would also be no privacy for any of the files unless you encrypted it (gpg/etc).
Having it as an option for external storage still makes sense imo. Anything I want to share publicly would benefit from being on IPFS.

The major downside seems to be the added space used to host the files in IPFS

To me, this is negligible compared to the benefits of having distributed, remote backups

There would also be no privacy for any of the files unless you encrypted it (gpg/etc).

Yeah, my assumption is that people would be using this with the encryption app, in the same way we currently let them have anything stored on other external storage (Google Drive, Dropbox etc) encrypted automatically. We should probably warn the user if they go to turn on IPFS without encryption.

https://github.com/ipfs/ipfs-pack
Is this the answer to the size problem?

This should be implemented as an app. See the files_external_ftp as example for this: https://github.com/icewind1991/files_external_ftp

Would love to see this as an External app! Not a developer, but I see a Go implementation here and a Javascript implementation here.

+1 up
What is the reason for closing this nice enhancement ?

+1
would really love to see a NC app for IPFS

@MorrisJobke is that FTP example still the right model to follow for an external storage backend?

@MorrisJobke is that FTP example still the right model to follow for an external storage backend?

Yes.

+1 for this

I've added this to the list of projects the IPFS community is interested in working on:

https://github.com/ipfs/integration-mini-projects/issues/7

+1000

Filestore can also save space (no dups). Tested on rpi and amd64 popos
Would love to have ipfs integration with nextcloud

Someone started to work on an app and has a testing version:
https://github.com/justicenode/files_external_ipfs

Was this page helpful?
0 / 5 - 0 ratings