mirror of
https://github.com/nextcloud/docker.git
synced 2024-09-30 00:12:36 +02:00
Compare commits
4 commits
0a8eaad8fb
...
c4533132eb
Author | SHA1 | Date | |
---|---|---|---|
|
c4533132eb | ||
|
1a0fb1bfc2 | ||
|
b617bfc7a0 | ||
|
f6d767efb1 |
59 changed files with 289 additions and 339 deletions
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -65,7 +65,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -63,7 +63,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -65,7 +65,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -65,7 +65,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -63,7 +63,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -65,7 +65,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -65,7 +65,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -63,7 +63,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -65,7 +65,7 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
\
|
\
|
||||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||||
pecl install APCu-5.1.23; \
|
pecl install APCu-5.1.24; \
|
||||||
pecl install imagick-3.7.0; \
|
pecl install imagick-3.7.0; \
|
||||||
pecl install memcached-3.2.0; \
|
pecl install memcached-3.2.0; \
|
||||||
pecl install redis-6.0.2; \
|
pecl install redis-6.0.2; \
|
||||||
|
|
|
@ -6,13 +6,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'sqlite';
|
$AUTOCONFIG['dbtype'] = 'sqlite';
|
||||||
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('SQLITE_DATABASE');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('MYSQL_DATABASE_FILE') && getenv('MYSQL_USER_FILE') && getenv('MYSQL_PASSWORD_FILE') && getenv('MYSQL_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('MYSQL_DATABASE_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('MYSQL_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('MYSQL_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'mysql';
|
$AUTOCONFIG['dbtype'] = 'mysql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
$AUTOCONFIG['dbname'] = getenv('MYSQL_DATABASE');
|
||||||
|
@ -20,13 +13,6 @@ if (getenv('SQLITE_DATABASE')) {
|
||||||
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
$AUTOCONFIG['dbpass'] = getenv('MYSQL_PASSWORD');
|
||||||
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
$AUTOCONFIG['dbhost'] = getenv('MYSQL_HOST');
|
||||||
$autoconfig_enabled = true;
|
$autoconfig_enabled = true;
|
||||||
} elseif (getenv('POSTGRES_DB_FILE') && getenv('POSTGRES_USER_FILE') && getenv('POSTGRES_PASSWORD_FILE') && getenv('POSTGRES_HOST')) {
|
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
|
||||||
$AUTOCONFIG['dbname'] = trim(file_get_contents(getenv('POSTGRES_DB_FILE')));
|
|
||||||
$AUTOCONFIG['dbuser'] = trim(file_get_contents(getenv('POSTGRES_USER_FILE')));
|
|
||||||
$AUTOCONFIG['dbpass'] = trim(file_get_contents(getenv('POSTGRES_PASSWORD_FILE')));
|
|
||||||
$AUTOCONFIG['dbhost'] = getenv('POSTGRES_HOST');
|
|
||||||
$autoconfig_enabled = true;
|
|
||||||
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
||||||
$AUTOCONFIG['dbtype'] = 'pgsql';
|
$AUTOCONFIG['dbtype'] = 'pgsql';
|
||||||
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
$AUTOCONFIG['dbname'] = getenv('POSTGRES_DB');
|
||||||
|
|
|
@ -5,7 +5,7 @@ if (getenv('REDIS_HOST')) {
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
'redis' => array(
|
'redis' => array(
|
||||||
'host' => getenv('REDIS_HOST'),
|
'host' => getenv('REDIS_HOST'),
|
||||||
'password' => getenv('REDIS_HOST_PASSWORD_FILE') ? trim(file_get_contents(getenv('REDIS_HOST_PASSWORD_FILE'))) : (string) getenv('REDIS_HOST_PASSWORD'),
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,19 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['key'] = '';
|
$CONFIG['objectstore']['arguments']['key'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SECRET_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SECRET')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['objectstore']['arguments']['secret'] = '';
|
$CONFIG['objectstore']['arguments']['secret'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('OBJECTSTORE_S3_SSE_C_KEY_FILE')) {
|
if (getenv('OBJECTSTORE_S3_SSE_C_KEY')) {
|
||||||
$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');
|
$CONFIG['objectstore']['arguments']['sse_c_key'] = getenv('OBJECTSTORE_S3_SSE_C_KEY');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,16 +5,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
|
||||||
'mail_smtphost' => getenv('SMTP_HOST'),
|
'mail_smtphost' => getenv('SMTP_HOST'),
|
||||||
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
|
||||||
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
|
||||||
'mail_smtpauth' => getenv('SMTP_NAME') && (getenv('SMTP_PASSWORD') || getenv('SMTP_PASSWORD_FILE')),
|
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
|
||||||
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
|
||||||
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
|
||||||
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
|
||||||
'mail_domain' => getenv('MAIL_DOMAIN'),
|
'mail_domain' => getenv('MAIL_DOMAIN'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (getenv('SMTP_PASSWORD_FILE')) {
|
if (getenv('SMTP_PASSWORD')) {
|
||||||
$CONFIG['mail_smtppassword'] = trim(file_get_contents(getenv('SMTP_PASSWORD_FILE')));
|
|
||||||
} elseif (getenv('SMTP_PASSWORD')) {
|
|
||||||
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
|
||||||
} else {
|
} else {
|
||||||
$CONFIG['mail_smtppassword'] = '';
|
$CONFIG['mail_smtppassword'] = '';
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
|
@ -63,14 +63,16 @@ file_env() {
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo "Warning: both $var and $fileVar are set ($fileVar takes precedence)"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
if [ -n "${varValue}" ]; then
|
if [ -n "${fileVarValue}" ]; then
|
||||||
export "$var"="${varValue}"
|
echo "note: taking ${fileVar} file for ${var} value"
|
||||||
elif [ -n "${fileVarValue}" ]; then
|
|
||||||
export "$var"="$(cat "${fileVarValue}")"
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${varValue}" ]; then
|
||||||
|
echo "note: using ${var} variable for ${var} value"
|
||||||
|
export "$var"="${varValue}"
|
||||||
elif [ -n "${def}" ]; then
|
elif [ -n "${def}" ]; then
|
||||||
|
echo "note: using invoked definition for ${var} value"
|
||||||
export "$var"="$def"
|
export "$var"="$def"
|
||||||
fi
|
fi
|
||||||
unset "$fileVar"
|
unset "$fileVar"
|
||||||
|
@ -82,6 +84,21 @@ if expr "$1" : "apache" 1>/dev/null; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# All possible content secrets to variable
|
||||||
|
file_env NEXTCLOUD_ADMIN_PASSWORD
|
||||||
|
file_env NEXTCLOUD_ADMIN_USER
|
||||||
|
file_env MYSQL_DATABASE
|
||||||
|
file_env MYSQL_PASSWORD
|
||||||
|
file_env MYSQL_USER
|
||||||
|
file_env POSTGRES_DB
|
||||||
|
file_env POSTGRES_PASSWORD
|
||||||
|
file_env POSTGRES_USER
|
||||||
|
file_env REDIS_HOST_PASSWORD
|
||||||
|
file_env SMTP_PASSWORD
|
||||||
|
file_env OBJECTSTORE_S3_KEY
|
||||||
|
file_env OBJECTSTORE_S3_SECRET
|
||||||
|
file_env OBJECTSTORE_S3_SSE_C_KEY
|
||||||
|
|
||||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UPDATE:-0}" -eq 1 ]; then
|
||||||
uid="$(id -u)"
|
uid="$(id -u)"
|
||||||
gid="$(id -g)"
|
gid="$(id -g)"
|
||||||
|
|
Loading…
Reference in a new issue