OK, there was another req_s3 bug which is now fixed on main. This now works:
# docker run -d -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"
Mix.install([
{:req_s3, github: "wojtekmach/req_s3", ref: "81ea8f6"}
])
System.put_env("AWS_ENDPOINT_URL_S3", "http://localhost:9000")
System.put_env("AWS_ACCESS_KEY_ID", "minioadmin")
System.put_env("AWS_SECRET_ACCESS_KEY", "minioadmin")
req =
Req.new(base_url: "s3://bucket1")
|> ReqS3.attach()
# create bucket
%{status: status} = Req.put!(req)
true = status in [200, 409]
%{status: 200} = Req.put!(req, url: "/object1", body: "value1")
# list objects
%{status: 200, body: body} = Req.get!(req, url: "/")
dbg(body)






















