AppFlowy icon indicating copy to clipboard operation
AppFlowy copied to clipboard

[FR] Server sync

Open maticrivo opened this issue 3 years ago • 12 comments

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!

maticrivo avatar Nov 16 '21 12:11 maticrivo

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.

markosole avatar Nov 16 '21 12:11 markosole

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

annieappflowy avatar Nov 17 '21 02:11 annieappflowy

self-host and share with peoole like website :D

emengweb avatar Nov 18 '21 00:11 emengweb

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

bgervan avatar Nov 21 '21 09:11 bgervan

Minio , S3 Or other object storage

jjeejj avatar Feb 17 '23 15:02 jjeejj

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

remram44 avatar Feb 21 '23 16:02 remram44

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

annieappflowy avatar Feb 27 '23 06:02 annieappflowy

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, …).

iBobik avatar Mar 27 '23 12:03 iBobik

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?

annieappflowy avatar Mar 28 '23 08:03 annieappflowy

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.)

iBobik avatar Mar 28 '23 15:03 iBobik

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

iBobik avatar Mar 28 '23 15:03 iBobik

Will WebDAV be supported?

xezzon avatar Jul 07 '23 06:07 xezzon

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

almereyda avatar Nov 24 '23 02:11 almereyda

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

annieappflowy avatar Dec 24 '23 19:12 annieappflowy