Utilizing S3 of Object Storage

First, setting the environment variables in the .env file for MAYAN_DOCUMENTS_STORAGE_BACKEND and MAYAN_DOCUMENTS_STORAGE_BACKEND ARGUMENTS does not seem to result in any changes when starting docker, even from a clean install.

Second, I am unclear if the Object Storage is designed to be used directly with S3 or requires a 3rd party service. Can I use the S3 URL for the endpoint to interact directly with S3? If not, what are my other alternatives?

Thanks,
John

The names of the variables are incorrect. They changed in version 4.0 and must be updated in your installation accordingly.

https://docs.mayan-edms.com/apps/file_caching/troubleshooting.html?highlight=documents_storage_backend

Release notes: Version 4.0 — Mayan EDMS 4.5.6 documentation

Second, I am unclear if the Object Storage is designed to be used directly with S3 or requires a 3rd party service. Can I use the S3 URL for the endpoint to interact directly with S3? If not, what are my other alternatives?

Mayan itself does not handle storage. This falls on the storage driver used.

Read more in this Knowledge base article: How storage works?

The typically used storage driver from the Django Storage project supports Amazon’s original S3 implementation and compatible storages. There are variations in the settings depending on the S3 implementation. For example Amazon S3 does not required the endpoint_url attribute while it does require the zone attributes.

The Django storage libraries are included in the official Mayan Docker image starting from version 4.0: Version 4.4 — Mayan EDMS 4.5.6 documentation

The following Knowledge base tutorial shows how to setup a self hosted S3 server using MinIO and migrate an existing Mayan installation to it.

Setting up and migrating to object storage

To be clear, the values in the .env for configuring the storage parameters are the ones not working:

#########################################################
# These variables are passed to the running containers. #
# They are interpreted by Mayan EDMS.                   #
#########################################################

# To use block storage.
# MAYAN_DOCUMENTS_STORAGE_BACKEND="storages.backends.s3boto3.S3Boto3Storage"
# MAYAN_DOCUMENTS_STORAGE_BACKEND_ARGUMENTS="{'access_key':'<access key>','secret_key':'<secret key>','bucket_name':'mayan','endpoint_url':'http://<URL:port>','verify':'False'}"  # 'verify':'False' for local servers with self signed SSL certificate

Using the variable names from https://docs.mayan-edms.com/apps/file_caching/troubleshooting.html?highlight=documents_storage_backend did not result in any changes in the container.

I was able to modify the config.yml file on the container and get the S3 connection working with the S3Boto3Storage option. The enpoint URL just needed to be set to the S3 bucket URL. The other Django Storage project S3 option is not resident on the container.

I also discovered a bug whenever S3 is used when downloading and have posted on a separate thread.