0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-04-01 02:56:08 +02:00
nextcloud-docker/.config/s3.config.php
jessebot e35ea1e23b
only set variables if they're actively in use
Signed-off-by: jessebot <jessebot@linux.com>
2025-01-09 14:44:06 +01:00

81 lines
3.4 KiB
PHP

<?php
if (getenv('OBJECTSTORE_S3_BUCKET')) {
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$proxy = getenv('OBJECTSTORE_S3_PROXY');
$verify_bucket_exists = getenv('OBJECTSTORE_S3_VERIFY_BUCKET_EXISTS');
$use_multipart_copy = getenv('OBJECTSTORE_S3_USEMULTIPARTCOPY');
$concurrency = getenv('OBJECTSTORE_S3_CONCURRENCY');
$timeout = getenv('OBJECTSTORE_S3_TIMEOUT');
$upload_part_size = getenv('OBJECTSTORE_S3_UPLOADPARTSIZE');
$put_size_limit = getenv('OBJECTSTORE_S3_PUTSIZELIMIT');
$copy_size_limit = getenv('OBJECTSTORE_S3_COPYSIZELIMIT');
$CONFIG = array(
'objectstore' => array(
'class' => '\OC\Files\ObjectStore\S3',
'arguments' => array(
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
'storageClass' => getenv('OBJECTSTORE_S3_STORAGE_CLASS') ?: '',
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
'autocreate' => strtolower($autocreate) !== 'false',
'use_ssl' => strtolower($use_ssl) !== 'false',
// required for some non Amazon S3 implementations
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
// required for older protocol versions
'useMultipartCopy' => strtolower($useMultipartCopy) !== 'true',
'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false',
'proxy' => strtolower($proxy) !== 'false',
'version' => getenv('OBJECTSTORE_S3_VERSION') ?: 'latest',
'verify_bucket_exists' => strtolower($verify_bucket_exists) !== 'true'
)
)
);
if $concurrency {
$CONFIG['objectstore']['arguments']['concurrency'] = $concurrency;
}
if $timeout {
$CONFIG['objectstore']['arguments']['timeout'] = $timeout;
}
if $upload_part_size {
$CONFIG['objectstore']['arguments']['uploadPartSize'] = $upload_part_size;
}
if $put_size_limit {
$CONFIG['objectstore']['arguments']['putSizeLimit'] = $put_size_limit;
}
if $copy_size_limit {
$CONFIG['objectstore']['arguments']['copySizeLimit'] = $copy_size_limit;
}
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
$CONFIG['objectstore']['arguments']['key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_KEY_FILE')));
} elseif (getenv('OBJECTSTORE_S3_KEY')) {
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
} else {
$CONFIG['objectstore']['arguments']['key'] = '';
}
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
$CONFIG['objectstore']['arguments']['secret'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_SECRET_FILE')));
} elseif (getenv('OBJECTSTORE_S3_SECRET')) {
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
} else {
$CONFIG['objectstore']['arguments']['secret'] = '';
}
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')));
} elseif (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
}
}