Configure locally hosted MinIO storage
-
Hello DT community,
I'm trying to configure a locally running MinIO storage with Disciple Tools, running on the same server that is hosting DT. This is for testing.It seems that MinIO has been moving from an open source system towards a licensed and paid system? I am trying to install the free and open source locally hosted version.
So far I haven't been able to connect DT to the MinIO system. So far, I have installed minio using this link, and installed mcli using the files from here.
I placed a copy of the server ssl certificates in
/home/minio-user/.minio/certs/, and can log in to the MinIO web admin page at https://<our-server>:9000.The community edition of MinIO doesn't seem to have any settings that you can manage through the web interface anymore, and instead these are accessed through the mcli command line tool.
I set up a storage, an admin user and password (which it seems that the username + password are also referred to as ACCESSKEY and SECRET key in the mcli documentation:
mcli admin user add TARGET ACCESSKEY SECRETKEY ... EXAMPLES: 1. Add a new user 'foobar' to MinIO server. $ set +o history $ mcli admin user add myminio foobar foo12345I saw that our storage default region is just blank, but I set it to "default" in case that helped.
However whatever I try I can't get DT to connect to the storage. I fill out the following details:
- Access Key: (username)
- Secret Access Key: (user password)
- Region: default
- Endpoint: https://<our-server>:9000
- Bucket: dtstorage
Clicking test connection always says "Connection Failed!"
I haven't been able to find a way to see the connection attempt in minio logs.
-
I had a little bit of success where I had the connection succeed on /wp-admin/admin.php?page=dt_options&tab=storage (rather than /wp-admin/admin.php?page=disciple_tools_storage), but I still couldn't upload images. But now I can't get the connection to succeed again and not sure why.
-
Another step: I set up the s3cmd for testing, with these settings:
New settings: Access Key: minioadmin Secret Key: <password> Default Region: default S3 Endpoint: <server>:9000 DNS-style bucket+hostname:port template for accessing a bucket: <server>:9000 Encryption password: Path to GPG program: /usr/bin/gpg Use HTTPS protocol: True HTTP Proxy server name: HTTP Proxy server port: 0This worked, and I can list files in the storage:
s3cmd ls s3://dtstorage DIR s3://dtstorage/images/I put these settings in DT, and the "test connection" started to succeed again. Perhaps what was needed was to remove https from the endpoint.
However so far I still can't upload images: I can see on the minio trace logs:
2025-11-12T10:40:14.955 [200 OK] s3.PutObject <server>:9000/dtstorage/221c0ffe60c032777009706bf8e30e/contacts/REb7JTZjDJoZGAkjiGcaFUt3ZXn82XlM2Ch4gtxnUsw8Fs298OQ0ylZQe3WQNwRI.png 10.20.0.2 15.913ms ⇣ 15.868531ms ↑ 412 KiB ↓ 0 Bbut the contact page file upload says: "Error! Unable to upload, please try again."
-
@Matthew - I thought I'd share some tips, to hopefully get you up and running.
- In addition to your login usr/pwd credentials; from the Minio Admin Console, create access and secret keys.

- Next, navigate to the Region settings and specify an arbitrary regional name.

- If you've not already done so, create a new bucket.

- Navigate to the D.T Admin Storage Settings and enter recently generated information. Ensure Path-style endpoint is enabled. Also ensure the correct protocol (HTTP/HTTPS) is specified within endpoint field.

-
Save storage settings.
-
On page reload, test the connection to confirm all is well. Make a note of any errors and share.
-
Assuming a successful connection has been established, you are now setup and ready to use the D.T Storage feature.
In addition to the attached screenshots, please explore the following links; as you may find running Minio within a Docker Container easier; regarding local testing.