I'd like to use the s3-geotiff module within GeoServer with a custom provider (Minio). The minio server is running properly and I could reach the tiffs in the bucket from a variety of s3 tools.

Following the instructions of the docs I've created a s3.properties file with endpoint, username and password strings.

I've placed the s3.properties file in the root of Geoserver_Data dir and also in the security folder. Unfortunately, using the s3 buckets tiff as a datastore fails. Geoserver always wants to reach the bucket on an AWS S3 instance. Using AWS, everything works as expected.

Any ideas?


To use a custom S3 provider, the s3.properties file path must be included via java system properties. So attaching -Ds3.properties.location=/opt/geoserver_data/s3.properties to my JAVA_OPTS within my docker build did the trick

  • Do you know where this is documented? – Kevin Oct 7 '20 at 20:43
  • I was interested in the documentation to find out if I could put environment variables in the s3.properties. I have learned this is a generic Java configuration file format and that it does not evaluate environment references. To work around that, I have the file dynamically created by setenv for Apache Tomcat. – Kevin Oct 9 '20 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.