Seafile v12 S3 backend on Ceph cluster s3-client can't resolve hostname

I have a working Ceph cluster with the recommended buckets created. I’m able to work with these buckets from the SeaFile host using s3cmd.

Seafile is not able to connect to my Ceph s3 throwing the following error when attempting to create a new library from web gui.

[2025-03-05 16:25:52] [WARNING] ../common/s3-client.c(1073): [S3] libcurl failed to head seafile-commit-object:f3ef1e73-89c4-47fd-ae58-0c0e763043dc/bd1da3ac572251ee544025dc07ec66b327a486a5: Couldn't resolve host name.
[2025-03-05 16:25:52] [WARNING] ../common/s3-client.c(1073): [S3] libcurl failed to head seafile-commit-object:f3ef1e73-89c4-47fd-ae58-0c0e763043dc/bd1da3ac572251ee544025dc07ec66b327a486a5: Couldn't resolve host name.
[2025-03-05 16:25:52] [WARNING] ../common/s3-client.c(1073): [S3] libcurl failed to head seafile-commit-object:f3ef1e73-89c4-47fd-ae58-0c0e763043dc/bd1da3ac572251ee544025dc07ec66b327a486a5: Couldn't resolve host name.
[2025-03-05 16:25:52] [WARNING] ../common/s3-client.c(828): [S3] libcurl failed to put seafile-commit-object:f3ef1e73-89c4-47fd-ae58-0c0e763043dc/bd1da3ac572251ee544025dc07ec66b327a486a5: Couldn't resolve host name.
[2025-03-05 16:25:52] [WARNING] ../common/s3-client.c(828): [S3] libcurl failed to put seafile-commit-object:f3ef1e73-89c4-47fd-ae58-0c0e763043dc/bd1da3ac572251ee544025dc07ec66b327a486a5: Couldn't resolve host name.
[2025-03-05 16:25:52] [WARNING] ../common/s3-client.c(828): [S3] libcurl failed to put seafile-commit-object:f3ef1e73-89c4-47fd-ae58-0c0e763043dc/bd1da3ac572251ee544025dc07ec66b327a486a5: Couldn't resolve host name.
[2025-03-05 16:25:52] [WARNING] repo-mgr.c(7767): Failed to add commit.

I have tried ip address and host name - those being 192.168.1.151 and ceph1.local in my seafile.conf which looks like this

[fileserver]
port = 8082

[database]
type = mysql
host = db
port = 3306
user = seafile
password = db-pass
db_name = seafile_db
connection_charset = utf8

[memcached]
memcached_options = --SERVER=memcached --POOL-MIN=10 --POOL-MAX=100

[commit_object_backend]
name = s3
bucket = seafile-commit-object
key_id = VHA64A3XZ2CAXLV8MKPU
key = 71O0gkrk3bwthUORjC5QvlsNpoM1fqypUpEKQSOO
use_v4_signature = true
aws_region = us-east-1
host = ceph1.local:8080
use_https = false

[fs_object_backend]
name = s3
bucket = seafile-fs-object
key_id = VHA64A3XZ2CAXLV8MKPU
key = 71O0gkrk3bwthUORjC5QvlsNpoM1fqypUpEKQSOO
use_v4_signature = true
aws_region = us-east-1
host = ceph1.local:8080
use_https = false

[block_backend]
name = s3
bucket = seafile-block-object
key_id = VHA64A3XZ2CAXLV8MKPU
key = 71O0gkrk3bwthUORjC5QvlsNpoM1fqypUpEKQSOO
use_v4_signature = true
aws_region = us-east-1
host = ceph1.local:8080
use_https = false

I’ve cheecked s3 credentials a zillion times and proven both credentials and host config from multiple machines with s3cmd.

Any help appreciated - if I had any hair left I’d be pulling it out.
Best regards
Steve

Solved.
After much fooling around with tcpdump, hosts file, dns setting and so on, I’ve just realised that I had omiited path_style_request=true from my seafile.conf.

A little embarrassing - but now all is well and I’m happily working with s3 backend on Ceph.

1 Like