- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1.6k
Description
Is your feature request related to a problem? Please describe.
Persistence requires a storage provider. But a dependency on Cloud Storage introduces complexity for fully local deployments (e.g. docker) that is not already in AWS/Azure/GCS.
Basic files upload and download capability can be well handled by ChainLit itself should be a viable option.
Describe the solution you'd like
- 
New class LocalStorageClient, conditinoally activated based on an env var (APP_LOCAL_STORAGE_PATH) 
- 
A new /storage/files API route endpoint for direct files retrieval by authorized users, since local storage can't generate pre-signed URLs the way cloud storage can. For read url, the local storage provider shall generate a relative URL directly referencing that new route. 
Describe alternatives you've considered
Co-deploying MinIO to implement S3-compatible "cloud" local storage. Yes, MinIO exists and can be co-deployed and used with an S3 storage provider class, but it adds substantial complexity to the deployment; Not only for MinIO itself but also for reverse proxying scenarios (ingress), etc. It's not the same level of complexity as having a Postgre database that's trivial.