From 47032fddb61b8cd89c88ee9c9e832f55cbba11f2 Mon Sep 17 00:00:00 2001 From: pierreozoux Date: Fri, 28 Aug 2020 15:22:26 +0200 Subject: Adds ability to configure S3 object stores via environment variables closes #1193 #1124 #1134 Co-authored-by: Adam Jenkins Co-authored-by: Stephen Cuppett --- .config/s3.config.php | 22 ++++++++++++++++++++++ README.md | 12 ++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .config/s3.config.php diff --git a/.config/s3.config.php b/.config/s3.config.php new file mode 100644 index 00000000..d18d4a2e --- /dev/null +++ b/.config/s3.config.php @@ -0,0 +1,22 @@ + + array( + 'class' => '\OC\Files\ObjectStore\S3', + 'arguments' => array( + 'bucket' => getenv('OBJECTSTORE_S3_BUCKET'), + 'key' => getenv('OBJECTSTORE_S3_KEY') ?: '', + 'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '', + 'region' => getenv('OBJECTSTORE_S3_REGION') ?: '', + 'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '', + 'port' => getenv('OBJECTSTORE_S3_PORT') ?: '', + 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, + // required for some non Amazon S3 implementations + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + ) + ) + ); +} diff --git a/README.md b/README.md index c418622a..b288a983 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,18 @@ To use an external SMTP server, you have to provide the connection details. To c Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/email_configuration.html) for other values to configure SMTP. +To use an external S3 compatible object store as primary storage, set the following variables: +- `OBJECTSTORE_S3_HOST`: The hostname of the object storage server +- `OBJECTSTORE_S3_BUCKET`: The name of the bucket that Nextcloud should store the data in +- `OBJECTSTORE_S3_KEY`: AWS style access key +- `OBJECTSTORE_S3_SECRET`: AWS style secret access key +- `OBJECTSTORE_S3_PORT`: The port that the object storage server is being served over +- `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server +- `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. +- `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 + +Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. + ## Using the apache image behind a reverse proxy and auto configure server host and protocol -- cgit v1.2.3