Homepage    |    GitHub    |    API    |    Wiki    |    FAQ

What would be better for Joplin Server storage - AWS S3 or EFS?

I'm wondering if anyone is familiar with AWS S3 and EFS here? I'm thinking about adding support for one or the other to Joplin Server/Cloud, to store the item. Mostly to make it easier to backup and restore the database and to reduce the db load.

But I'm not sure what would be best. S3 I think is easier to use, but I'm not sure if it would work well when uploading and download many small files. While EFS seems better for this, but it's more expensive and it's not clear if ithe extra performance is necessary. Anyone knows about this?

If you are thinking of using either one of them as a mandatory backend (at any point in the future), S3 is probably the only way to go. Otherwise people won't be able to use Joplin Server anymore unless they pay Amazon for EFS. And I am not ok with sending any of my data to a 3rd party, especially when I host my own instance. (e.g. I run it only for myself and my block devices are encrypted, thus no need to deal with E2EE.)

At least for S3 I can setup minio and run it locally. I am not sure if there's EFS for local deployments.

S3 can be fast, especially when one uses Minio as a gateway service. But latency is always something to look into when dealing with data stored by a 3rd party. I think only a proper performance test will get you the answers you seek.

Thanks, on Reddit the consensus seems to be for S3 too, and from what I've been reading the performances should be good enough.

The feature will be optional and by default it will still save to the database, so there won't be any breaking change. Besides S3 (or EFS, but probably S3), there will also be an option to save to the local file system.