is there any rule of thumb about whether attachments are ‘better off’ being stored internally on the ERPNext server or with an external filestorage solution (like s3) and only using links to that files inside ERPNext?
in a current case I am handling all financial transactions should have digital copies (jpg, png, pdf, html, txt) of the related documents (invoices, remittance advices, etc.) attached and I am wondering which road to take.
In case migration of local attachments to en external service was simple and possible in bulk (as per the linked topic) you’d probably start locally, but if such a migration is a manual 1by1 process you’d probably make up your mind on this rather sooner then later
I am using the default way with attachments saved on the internal storage of my ERPNext instance for the time being.
Likewise there is no experience to share thus far. I am reaching limits of storage slowly though, so this matter may come up again sooner or later (incl. migration potentially).
All I can say thus far is that using something like s3 comes with an authentication challenge
S3 buckets would be a game changer. Hard disk space is quite expensive for storage purposes. Also s3 will allow large file attachments like hi-res photos and videos, and delivery through CDN.
S3 has python api - boto3.
An idea is Frappe can have FieldType s3 or more generic bucket where attachments will be uploaded to the assigned s3 bucket. (Attachments on the Doctype level will still be internal). So, you can have fields named Photos, Videos, and Documents (Birth Certificate, Business Registration) in a doctype and these large attachments can be sent to different s3 buckets.
The functionality for s3 buckets is already in ERPNext, I think because you can store backups in s3.
Frappe has the flexibility to be an Enterprise Content Management System like Alfresco. The ability to store to efficient and cheap storage like s3 - allowing for CDN delivery would be a great resource to have.