Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Server sync #17

Closed
maticrivo opened this issue Nov 16, 2021 · 14 comments
Closed

[FR] Server sync #17

maticrivo opened this issue Nov 16, 2021 · 14 comments
Labels
new feature New feature or request

Comments

@maticrivo
Copy link

maticrivo commented Nov 16, 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!

@markosole
Copy link

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.

@annieappflowy
Copy link
Collaborator

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

@emengweb
Copy link

self-host and share with peoole like website :D

@annieappflowy annieappflowy added the new feature New feature or request label Nov 20, 2021
@bgervan
Copy link

bgervan commented 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

@jjeejj
Copy link

jjeejj commented Feb 17, 2023

Minio , S3 Or other object storage

@remram44
Copy link

Duplicate of #540

@annieappflowy
Copy link
Collaborator

#602

@iBobik
Copy link

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

@annieappflowy
Copy link
Collaborator

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?

@iBobik
Copy link

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

@iBobik
Copy link

iBobik commented Mar 28, 2023

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

@xezzon
Copy link

xezzon commented Jul 7, 2023

Will WebDAV be supported?

@almereyda
Copy link

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

@annieappflowy
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
None yet
Development

No branches or pull requests

10 participants