Using Garage as S3 storage with local IP?

Hi! Very much a S3 beginner so bear with me here… :grinning:

I’m trying to setup Duplicacy (both web and cli) using Garage S3 https://garagehq.deuxfleurs.fr/ as storage backend.

I’m having problems initializing a repo and I think it is because I’m using the LAN IP and not a FQD.
The bucket is fully functional and usable with rclone, so I know it works.

Is S3 storage required to use FQD with Duplicacy?

Failed to check the storage at s3://garage@http://10.111.10.11:3900/duplicacy-bucket: InvalidParameter: 1 validation error(s) found. - minimum field size of 1, HeadObjectInput.Bucket.

While playing around trying to figure out what was wrong I managed to get an error saying something in the line of Duplicacy is looking for https://[bucketname].[endpoint] and not http://[endpoint]/[bucketname]. Is this a behavior I can change?

As the error message says here, this is an invalid s3 url. You need to remove http:// from there.

I’ve tried that and it doesn’t work. Adding S3 storage seems to imply it has to be https.

root@rock4se-dietpi:~# ./duplicacy_linux_arm64_3.2.5 init -zstd rock4se-dietpi s3://garage@10.111.10.11:3900/duplicacy-bucket
Enter S3 Access Key ID:XXXXXXXXXXXXXX
Enter S3 Secret Access Key:XXXXXXXXXXXXXXXXXXX
Failed to download the configuration file from the storage: RequestError: send request failed
caused by: Head "https://duplicacy-bucket.10.111.10.11:3900/config": dial tcp: lookup duplicacy-bucket.10.111.10.11 on 10.111.10.1:53: no such host

Does not matter. You can’t have htttps:// inside an s3 URL string.

bucket.10

Looks like you are right, the s3 library that duplicacy is using defaults to virtual-hosted style of s3 access and attempts to construct the bucket url by prepending bucket name to the address, but ip address cannot have subdomains. For this to work, duplicacy needs to use path-style access.

You can try other s3-like remotes duplicacy supports. For example minio:// defaults to path-like style access.