# P2P Seeded File Sync

**URL:** <https://help.nextcloud.com/t/p2p-seeded-file-sync/277>\
**Category:** ℹ️ Support\
**Tags:** feature\
**Created:** [June 3, 2016, 3:58pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277 "2016-06-03T15:58:38Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shugotenshi](https://help.nextcloud.com/user_avatar/help.nextcloud.com/shugotenshi/32/6635_2.png) [@Shugotenshi](https://help.nextcloud.com/u/Shugotenshi)\
**Post date:** [June 3, 2016, 3:58pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/1 "2016-06-03T15:58:39Z")

</div>

Peer-to-peer seeded file sync would be a huge plus for this project. I have come across many ownCloud users who desire this as well. Having the ability to seed file sync for other clients would significantly offload the server and especially limited WAN or Internet links, if another client has the files nearby. You should also be able to turn on/off this feature on each client to opt-in/out of acting as a seeding peer.

Anyone have other thoughts?

---

<div class="post-metadata">

**Author:** ![oparoz](https://help.nextcloud.com/user_avatar/help.nextcloud.com/oparoz/32/135_2.png) [@oparoz](https://help.nextcloud.com/u/oparoz)\
**Post date:** [June 3, 2016, 4:08pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/2 "2016-06-03T16:08:46Z")

</div>

I’m wondering if it wouldn’t be best to simply launch a P2P daemon and add the folders to NC via files\_external?

---

<div class="post-metadata">

**Author:** ![Ben](https://help.nextcloud.com/letter_avatar/ben/32/6_22734026db12803ebb3e059622ac3534.png) [@Ben](https://help.nextcloud.com/u/Ben)\
**Post date:** [June 3, 2016, 6:05pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/3 "2016-06-03T18:05:01Z")

</div>

sounds really useful 🙂

---

<div class="post-metadata">

**Author:** ![ola](https://help.nextcloud.com/letter_avatar/ola/32/6_22734026db12803ebb3e059622ac3534.png) [@ola](https://help.nextcloud.com/u/ola)\
**Post date:** [June 3, 2016, 7:42pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/4 "2016-06-03T19:42:53Z")

</div>

First thing that came to my mind when I read this was IPFS. Implementation would be hairy. You’d have to add some encryption. If it was planned carefully, it could be super cool. You could have all the sync and maybe some of the sharing stuff even when connectivity to the server was bad or non-existent. First step would probably be to write a general dav client that also supports ipfs, and then, if you wanted more integration (sharing, etc.) look at the NC specific bits.

---

<div class="post-metadata">

**Author:** ![thefirstofthe300](https://help.nextcloud.com/user_avatar/help.nextcloud.com/thefirstofthe300/32/251_2.png) [@thefirstofthe300](https://help.nextcloud.com/u/thefirstofthe300)\
**Post date:** [June 10, 2016, 4:46pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/5 "2016-06-10T16:46:09Z")

</div>

I would also to be interested to see if this is technically possible. I wonder if you could use syncthing as a backend? Then the Nextcloud devs just have to deal with the API.

---

<div class="post-metadata">

**Author:** ![Ben](https://help.nextcloud.com/letter_avatar/ben/32/6_22734026db12803ebb3e059622ac3534.png) [@Ben](https://help.nextcloud.com/u/Ben)\
**Post date:** [June 10, 2016, 5:19pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/6 "2016-06-10T17:19:35Z")

</div>

the nextcloud server have to be something like a torrent tracker for that purpose.

---

<div class="post-metadata">

**Author:** ![tflidd](https://help.nextcloud.com/letter_avatar/tflidd/32/6_22734026db12803ebb3e059622ac3534.png) [@tflidd](https://help.nextcloud.com/u/tflidd)\
**Post date:** [June 10, 2016, 6:45pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/7 "2016-06-10T18:45:09Z")

</div>

> [@oparoz](#):
>
> I’m wondering if it wouldn’t be best to simply launch a P2P daemon and add the folders to NC via files\_external?

There are some reports of users doing this already:

> **[ownCloud Central](https://central.owncloud.org)**
>
> ownCloud Central: Discuss - Learn - Ask

> **[ownCloud Central](https://central.owncloud.org)**
>
> ownCloud Central: Discuss - Learn - Ask

> **[ownCloud Central](https://central.owncloud.org)**
>
> ownCloud Central: Discuss - Learn - Ask

So there is a way to do it. And if the LAN sync ([LAN sync please](https://help.nextcloud.com/t/lan-sync-please/512/1)) was implemented, it don’t see the use-case for this. Or even a server-2-server-sync: [ownCloud server synchronisation (mirrored/redundant serving) [$275] · Issue #1190 · owncloud/core · GitHub](https://github.com/owncloud/core/issues/1190)

---

<div class="post-metadata">

**Author:** ![oparoz](https://help.nextcloud.com/user_avatar/help.nextcloud.com/oparoz/32/135_2.png) [@oparoz](https://help.nextcloud.com/u/oparoz)\
**Post date:** [June 10, 2016, 7:12pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/8 "2016-06-10T19:12:23Z")

</div>

> [@tflidd](#):
>
> So there is a way to do it

Oh, I know I’m doing it 😉 and it’s becoming easier and easier to set up, thanks to the IoT boom.

---

<div class="post-metadata">

**Author:** ![Bugsbane](https://help.nextcloud.com/user_avatar/help.nextcloud.com/bugsbane/32/172_2.png) [@Bugsbane](https://help.nextcloud.com/u/Bugsbane)\
**Post date:** [June 11, 2016, 3:54am UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/9 "2016-06-11T03:54:07Z")

</div>

> [@thefirstofthe300](#):
>
> I would also to be interested to see if this is technically possible

_cough_ IPFS _cough_

I would _love_ to see IPFS as an external storage source!

---

<div class="post-metadata">

**Author:** ![Bugsbane](https://help.nextcloud.com/user_avatar/help.nextcloud.com/bugsbane/32/172_2.png) [@Bugsbane](https://help.nextcloud.com/u/Bugsbane)\
**Post date:** [February 3, 2017, 4:00am UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/10 "2017-02-03T04:00:44Z")

</div>

Hey I just thought of something… **couldn’t you just [mount IPFS with FUSE](https://github.com/ipfs/go-ipfs/blob/master/docs/fuse.md), use that mount’s file path for your Nextcloud data folder and finally [enable Nextcloud’s server side encryption](http://www.techrepublic.com/article/how-to-enable-server-side-encryption-in-nextcloud/) so only your Nextcloud instance could read it?**

As far as I can see, this would share all of Nextcloud’s data on IPFS, encrypted so it could only be read through Nextcloud. Unless I’m mistaken, this would even mean that Nextcloud users accessing files from locations far away from the server, would actually get better performance, as their data files would be pulled from the closest IPFS node holding a copy of their data, rather than just the device hosting Nextcloud’s files.

Honestly, as long as we’re trying to get people off of centralised servers and into hosting their own data, it seems to me that offering a simple way that _all_ users can easily have their data remotely backed up in a distributed manner is a fundamental responsibility, like security.

Until users critical data is secured against common problems like hard drive failure, computer theft and the like, most other issues pale into insignificance IMO.

---

<div class="post-metadata">

**Author:** ![peterVG](https://help.nextcloud.com/letter_avatar/petervg/32/6_22734026db12803ebb3e059622ac3534.png) [@peterVG](https://help.nextcloud.com/u/peterVG)\
**Post date:** [June 1, 2017, 5:12pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/11 "2017-06-01T17:12:02Z")

</div>

Anyone give this a try yet? User-friendly (i.e. transparent) encryption management & syncing/browsing are two (possibly killer) features that NextCloud can bring to IPFS.

---

<div class="post-metadata">

**Author:** ![Bugsbane](https://help.nextcloud.com/user_avatar/help.nextcloud.com/bugsbane/32/172_2.png) [@Bugsbane](https://help.nextcloud.com/u/Bugsbane)\
**Post date:** [June 3, 2017, 4:24pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/12 "2017-06-03T16:24:34Z")

</div>

It looks like they’ve gone in a different direction to achieve the same goal of having a distributed p2p backup in Nextcloud, namely using [Sia](https://nextcloud.com/blog/introducing-cloud-storage-in-the-blockchain-with-sia-and-nextcloud/) (which I hadn’t heard of before). It seems more complicated as far as I can see, but at the end of the day, it seems that you can do the same thing, namely provide storage to the network, in exchange for having the network backup your data to protect against the server being lost.

---

<div class="post-metadata">

**Author:** ![almereyda](https://help.nextcloud.com/user_avatar/help.nextcloud.com/almereyda/32/7462_2.png) [@almereyda](https://help.nextcloud.com/u/almereyda)\
**Post date:** [January 8, 2018, 11:40pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/13 "2018-01-08T23:40:23Z")

</div>

IPFS mounts via FUSE read only AFAIK.

Possible implementation paths were outlined in

> <https://github.com/nextcloud/server/issues/385>

---

<div class="post-metadata">

**Author:** ![tflidd](https://help.nextcloud.com/letter_avatar/tflidd/32/6_22734026db12803ebb3e059622ac3534.png) [@tflidd](https://help.nextcloud.com/u/tflidd)\
**Post date:** [May 1, 2020, 9:13am UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/14 "2020-05-01T09:13:08Z")

</div>

There is an app in testing now:

> [@IPFS - external storage with p2p seeding - new Nextcloud app!](https://help.nextcloud.com/t/ipfs-external-storage-with-p2p-seeding-new-nextcloud-app/53557):
>
> InterPlanetary File System is a protocol and network designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system. IPFS was initially designed by Juan Benet, and is now an open-source project developed with help from the community. [As mentioned in this earlier p2p file seeding post](https://help.nextcloud.com/t/p2p-seeded-file-sync/277), [IPFS](https://ipfs.io/) would make an amazing external storage option for Nextcloud! [See the Nextcloud github feature issue here](https://github.com/nextcloud/server/issues/385), or [check out the discussion on the ne…](https://discuss.ipfs.io/t/ipfs-as-backend-storage-for-nextcloud-and-owncloud/5436/)

---

<div class="post-metadata">

**Author:** ![kitatek](https://help.nextcloud.com/user_avatar/help.nextcloud.com/kitatek/32/32042_2.png) [@kitatek](https://help.nextcloud.com/u/kitatek)\
**Post date:** [January 25, 2021, 5:44am UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/15 "2021-01-25T05:44:06Z")

</div>

Would like to notify my comment in that issue [here](https://github.com/nextcloud/desktop/issues/2010#issuecomment-766556700) to @tflidd , @Bugsbane or @rakekniven as I believe it deserves Nextcloud team attention.

---

<div class="post-metadata">

**Author:** ![rakekniven](https://help.nextcloud.com/user_avatar/help.nextcloud.com/rakekniven/32/67096_2.png) [@rakekniven](https://help.nextcloud.com/u/rakekniven)\
**Post date:** [January 25, 2021, 8:32am UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/16 "2021-01-25T08:32:09Z")

</div>

We are volunteers and care about the community here.  
Personally I am not involved in any product roadmap schedules.

---

<div class="post-metadata">

**Author:** ![wwe](https://help.nextcloud.com/user_avatar/help.nextcloud.com/wwe/32/72963_2.png) [@wwe](https://help.nextcloud.com/u/wwe)\
**Post date:** [November 6, 2024, 8:58pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/17 "2024-11-06T20:58:42Z")

</div>



---

<div class="post-metadata">

**Author:** ![wwe](https://help.nextcloud.com/user_avatar/help.nextcloud.com/wwe/32/72963_2.png) [@wwe](https://help.nextcloud.com/u/wwe)\
**Post date:** [December 4, 2024, 3:21pm UTC](https://help.nextcloud.com/t/p2p-seeded-file-sync/277/18 "2024-12-04T15:21:11Z")

</div>


