[GH-ISSUE #17] [FR] Server sync #6

Closed
opened 2026-03-23 20:30:10 +00:00 by mirror · 14 comments
Owner

Originally created by @maticrivo on GitHub (Nov 16, 2021).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/17

1~3 main use cases of the proposed feature
Are there plans to have a server one can self-host for syncing files between multiple devices (computers, cellphones, tablets...)?
Alternatively it can be a good option to let the users decide where to store the sqlite database (dropbox, icloud, google drive, etc...)

what types of users can benefit from using your proposed feature
Every user that uses more then 1 device

Additional context
Nothing to add besides this is a great project and it looks great!

Originally created by @maticrivo on GitHub (Nov 16, 2021). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/17 **1~3 main use cases of the proposed feature** Are there plans to have a server one can self-host for syncing files between multiple devices (computers, cellphones, tablets...)? Alternatively it can be a good option to let the users decide where to store the sqlite database (dropbox, icloud, google drive, etc...) **what types of users can benefit from using your proposed feature** Every user that uses more then 1 device **Additional context** Nothing to add besides this is a great project and it looks great!
mirror 2026-03-23 20:30:10 +00:00
Author
Owner

@markosole commented on GitHub (Nov 16, 2021):

You may have few options:

  1. Store on Google Drive and share between devices
  2. Create Server API with realtime DB and storage on AWS S3 bucket.

Depends of complexity and requirements.

<!-- gh-comment-id:970230052 --> @markosole commented on GitHub (Nov 16, 2021): You may have few options: 1. Store on Google Drive and share between devices 2. Create Server API with realtime DB and storage on AWS S3 bucket. Depends of complexity and requirements.
Author
Owner

@annieappflowy commented on GitHub (Nov 17, 2021):

1~3 main use cases of the proposed feature Are there plans to have a server one can self-host for syncing files between multiple devices (computers, cellphones, tablets...)? Alternatively it can be a good option to let the users decide where to store the sqlite database (dropbox, icloud, google drive, etc...)

what types of users can benefit from using your proposed feature Every user that uses more then 1 device

Additional context Nothing to add besides this is a great project and it looks great!

Thanks a lot for your inputs. End-to-end encryption sync is sitting on our roadmap. This is something that users with more than one device would need. Your alternative plan sounds promising. I'm wondering where you'd like to store? Is there any data security concern?

Annie

<!-- gh-comment-id:971114196 --> @annieappflowy commented on GitHub (Nov 17, 2021): > **1~3 main use cases of the proposed feature** Are there plans to have a server one can self-host for syncing files between multiple devices (computers, cellphones, tablets...)? Alternatively it can be a good option to let the users decide where to store the sqlite database (dropbox, icloud, google drive, etc...) > > **what types of users can benefit from using your proposed feature** Every user that uses more then 1 device > > **Additional context** Nothing to add besides this is a great project and it looks great! Thanks a lot for your inputs. End-to-end encryption sync is sitting on our roadmap. This is something that users with more than one device would need. Your alternative plan sounds promising. I'm wondering where you'd like to store? Is there any data security concern? Annie
Author
Owner

@emengweb commented on GitHub (Nov 18, 2021):

self-host and share with peoole like website :D

<!-- gh-comment-id:972343048 --> @emengweb commented on GitHub (Nov 18, 2021): self-host and share with peoole like website :D
Author
Owner

@bgervan commented on GitHub (Nov 21, 2021):

I am working on a flutter + hive (can be other DB if it allow to define base class) + crdt + django channels backend package.
Would it be something Appflowy is interested to use? If they implement offline working with that, my package can sync with django backend real time. For one user with multiple device it already works (need to clean the code etc). For multiple user I need to improve it. Of course the django app can be self hosted

<!-- gh-comment-id:974779548 --> @bgervan commented on GitHub (Nov 21, 2021): I am working on a flutter + hive (can be other DB if it allow to define base class) + crdt + django channels backend package. Would it be something Appflowy is interested to use? If they implement offline working with that, my package can sync with django backend real time. For one user with multiple device it already works (need to clean the code etc). For multiple user I need to improve it. Of course the django app can be self hosted
Author
Owner

@jjeejj commented on GitHub (Feb 17, 2023):

Minio , S3 Or other object storage

<!-- gh-comment-id:1434814401 --> @jjeejj commented on GitHub (Feb 17, 2023): Minio , S3 Or other object storage
Author
Owner

@remram44 commented on GitHub (Feb 21, 2023):

Duplicate of https://github.com/AppFlowy-IO/AppFlowy/discussions/540

<!-- gh-comment-id:1438765695 --> @remram44 commented on GitHub (Feb 21, 2023): Duplicate of https://github.com/AppFlowy-IO/AppFlowy/discussions/540
Author
Owner

@annieappflowy commented on GitHub (Feb 27, 2023):

https://github.com/AppFlowy-IO/AppFlowy/issues/602

<!-- gh-comment-id:1445789464 --> @annieappflowy commented on GitHub (Feb 27, 2023): https://github.com/AppFlowy-IO/AppFlowy/issues/602
Author
Owner

@iBobik commented on GitHub (Mar 27, 2023):

Some ideas, what do you think?

  • Would be nice (and cheap) to symmetrically encrypt per file and allow user to share by links.

  • There could be multiple kind of keys - owner, edit and view. Owner can manage them, generate multiple links with different keys etc. Owner keys could maybe be asymmetric public keys, edit key just random string.

  • By default owner file keys are stored in user account and view keys in parent folder (in a link to the child file?). User can get share link like: https://share.appflowy.io/FILE_ID#view=FILE_KEY&edit=EDIT_KEY.

  • On the server there will be dump CDN with SPA. It will get file by its ID from S3-like storage, decrypt by view key in hash and render. So viewing files will be cheap.

  • For saving and colaboration there will have to be some backend which will check edit and owner keys. Also it can enforce billing.

  • For sake of freedom there could be not only super simple to use official paid cloud, but also option to store plain markdown files anywhere (local, Dropbox, Drive, iCloud, …).

<!-- gh-comment-id:1485030139 --> @iBobik commented on GitHub (Mar 27, 2023): Some ideas, what do you think? - Would be nice (and cheap) to symmetrically encrypt per file and allow user to share by links. - There could be multiple kind of keys - owner, edit and view. Owner can manage them, generate multiple links with different keys etc. Owner keys could maybe be asymmetric public keys, edit key just random string. - By default owner file keys are stored in user account and view keys in parent folder (in a link to the child file?). User can get share link like: https://share.appflowy.io/FILE_ID#view=FILE_KEY&edit=EDIT_KEY. - On the server there will be dump CDN with SPA. It will get file by its ID from S3-like storage, decrypt by view key in hash and render. So viewing files will be cheap. - For saving and colaboration there will have to be some backend which will check edit and owner keys. Also it can enforce billing. - For sake of freedom there could be not only super simple to use official paid cloud, but also option to store plain markdown files anywhere (local, Dropbox, Drive, iCloud, …).
Author
Owner

@annieappflowy commented on GitHub (Mar 28, 2023):

Thanks, @iBobik for your input. I'm learning new things from you!
What benefits would you gain from assigning different keys for different permissions compared to other alternative ways of managing permissions?

<!-- gh-comment-id:1486468237 --> @annieappflowy commented on GitHub (Mar 28, 2023): Thanks, @iBobik for your input. I'm learning new things from you! What benefits would you gain from assigning different keys for different permissions compared to other alternative ways of managing permissions?
Author
Owner

@iBobik commented on GitHub (Mar 28, 2023):

Tell me about some specific alternative and I will compare it 😉

But generally usual solutions does not care about privacy and want to motivate more people to create accounts or at least generate leads (collect contacts).

Also my proposal is cheaper to operate. (At least view only sharing.)

<!-- gh-comment-id:1487087648 --> @iBobik commented on GitHub (Mar 28, 2023): Tell me about some specific alternative and I will compare it 😉 But generally usual solutions does not care about privacy and want to motivate more people to create accounts or at least generate leads (collect contacts). Also my proposal is cheaper to operate. (At least view only sharing.)
Author
Owner

@iBobik commented on GitHub (Mar 28, 2023):

Also that view only sharing could be very simple to implement.

<!-- gh-comment-id:1487092812 --> @iBobik commented on GitHub (Mar 28, 2023): Also that view only sharing could be very simple to implement.
Author
Owner

@xezzon commented on GitHub (Jul 7, 2023):

Will WebDAV be supported?

<!-- gh-comment-id:1624814828 --> @xezzon commented on GitHub (Jul 7, 2023): Will WebDAV be supported?
Author
Owner

@almereyda commented on GitHub (Nov 24, 2023):

Is there a chance that this is now implemented with AppFlowy-IO/AppFlowy-Cloud?

<!-- gh-comment-id:1825087907 --> @almereyda commented on GitHub (Nov 24, 2023): Is there a chance that this is now implemented with [AppFlowy-IO/AppFlowy-Cloud](https://github.com/AppFlowy-IO/AppFlowy-Cloud)?
Author
Owner

@annieappflowy commented on GitHub (Dec 24, 2023):

We now support self-hosting AppFlowy: https://docs.appflowy.io/docs/guides/appflowy/self-hosting-appflowy

<!-- gh-comment-id:1868578608 --> @annieappflowy commented on GitHub (Dec 24, 2023): We now support self-hosting AppFlowy: https://docs.appflowy.io/docs/guides/appflowy/self-hosting-appflowy
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#6
No description provided.