Store books on S3 Storage
Opened this issue · 0 comments
Feature Request: Native S3 Storage Integration
Is your feature request related to a problem? Please describe.
I personally choose to store my audiobook library on S3-like storage. This is beneficial as it places it on a reliable medium that is unlikely to fail, get lost, or suffer natural disaster. The challenging bit is getting Libation to put the liberated books there. While there are many ways to mount s3 storage as a native filesystem, it has inherent issues as it isn't intended to be used this way.
Describe the solution you'd like
Please consider adding the option to output liberated books directly to S3-like storage using S3 native API calls. This would understandably be a challenging undertaking as it would probably require reconsidering some core functionality to Libation. If we had the option to output to S3 using native API calls it would make uploads substantially more reliable and likely result in fewer API calls resulting in a cheaper bill.
Describe alternatives you've considered
The alternative currently is to mount the S3 storage as a native filesystem and point Libation to output to that directory. This currently works dependent on client software used and tuning settings.
Additional context
For future persons looking for a workaround on linux, I have tested the major various fuse filesystems:
❌ goofys: works and is fast but uploads frequently fail and need to be retried costing substantial Class C operations.
❌ s3fs: works but is very slow. Libation takes a LONG time to open with large libraries as it walks the directory.
❌ mountpoint-s3: might work? but only with AWS.
✅ rclone: works great with proper tuning!
If you are looking for a solution for a linux system running systemd (most modern distros do), I have gone ahead and written up some unit files and packaged them on my repo fritz-fritz/libation-systemd