feat(local-dev): use garage for s3#1996
Merged
Merged
Conversation
pyphilia
requested changes
Oct 14, 2025
Contributor
pyphilia
left a comment
There was a problem hiding this comment.
Thanks for the PR! I've tried and made some comments to improve the docs.
Remove localstack related comments.
Remove ### Data persistence section under Known issues?
|
Member
Author
|
@pyphilia Thank you for your thorough review. I have updated the documentation and texts with your suggestions. You can review one last time and let me know if it is good to merge. I propose that we plan adding the setup for H5P later. |
pyphilia
approved these changes
Oct 16, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



In this PR I propose to improve the DX in local by removing the difference between a local-file service an an s3-file service.
Current situation
Currently we support two alternatives for local development:
This leads to issues when developing locally and adds uncertainty about the developed code and whether it will work as expected when deployed agains S3.
Proposed solution
The proposed solution is to be able to have a working s3 storage in local dev that truly works like s3.
This solution is deployed correctly could replace the localfile solution for the "self hosted" alternative.
The solution uses deuxfleurs/garage a s3 compatible storage solution that also supports replication and is used in production scenarios. It is reliable and production-ready. The fact that it is s3-compatible allows us to continue using the aws-s3 libraries as our storage abstraction.
Implementation and important informations
Setup
The setup for garage has been explained in the readme section. It requires setup of the layout (a concept specific to garage), the bucket, the access key and the permission of the access key on the bucket.
The s3 service can be contacted using s3.garge.localhost from the internal docker network using the
linkskey in the service that wants to connect and from the host network using an /etc/hosts config linking s3.garage.localhost to localhost.Changes required for current setups
If you already have a dev environment setup, please do the following:
.env.developmentfilegaragein your.env.developmentfiles3.garage.localhostfor the url of the file-service if you override it in the env file. If not overriden it should be correctly set by the docker-compose.yml file, eventully rebuild for the change to take effect.