I run MiniO in Docker. Love it. I’ve never used Garage or Seaweed.
I set garage via docker and it was not impossibly hard.
Main problem is that there isn’t an admin panel and you can’t login to the docker container via docker exec, so you have to write some python (or other language of your choice) to send requests to the API port to:
- Set the layout of your server
- Create an user
- Create a bucket
- Assign that bucket to your user
Thanks. I ended up going with Garage (in Docker), and installed the minio client cli for these tasks.
You can use docker exec with garage docker image.
I’m on mobile but I think you just need something like: docker exec containerid ./garage stats
This is correct, I already installed the minio cli, but when I came back and read this, I tried it out and yes, once garage is running in the container, you can
alias garage="docker exec -ti <container name> /garage"
so you can do the cli things like garage bucket info test-bucket
or whatever. The --help
for the garage
command is pretty great, which is good since they don’t write it up much in the docs.
I’ve used minio briefly, and I’ve never used any other self hosted object storage. In the context of spinning it up with docker, it’s pretty easy. The difficult part in my project was that I wanted some buckets predefined. The docker image doesn’t provide this functionality directly, so I had to spin up an adjacent container with the minio cli that would create the buckets automatically every time I spun up minio.
But for your use case you would manage bucket creation manually, from the UI. It seems straight forward enough, and I don’t have complaints. I think it would work for your use case, but I can’t say its any worse or better than alternatives.
If you need S3-compliant storage for testing and development, you can use an S3 mock server. I’ve tried the following for use in web development and CI environments, they are lightweight and configurable:
There is also Localstack. I found this one to be a bit more complex than the ones above and ended up not sticking with it.
Which apps are you testing?
I set up minio s3 for testing myself, but found that most of my docker services doesn’t really support it. So I went back to good old folders
One I’m writing. I use the host file system (as I have a strong preference for simple) for it’s storage, but I’m interested in adding Litestream for replicating the database onto AWS.