mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-02-16 10:40:21 +00:00
Merge 63bb5845de into 9c0334d3f0
This commit is contained in:
commit
e170572037
3 changed files with 34 additions and 66 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
if (getenv('REDIS_HOST')) {
|
if (getenv('REDIS_MODE' !== 'rediscluster')) {
|
||||||
$CONFIG = array(
|
$CONFIG = array(
|
||||||
'memcache.distributed' => '\OC\Memcache\Redis',
|
'memcache.distributed' => '\OC\Memcache\Redis',
|
||||||
'memcache.locking' => '\OC\Memcache\Redis',
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
|
|
@ -17,7 +17,33 @@ if (getenv('REDIS_HOST')) {
|
||||||
$CONFIG['redis']['dbindex'] = (int) getenv('REDIS_DB_INDEX');
|
$CONFIG['redis']['dbindex'] = (int) getenv('REDIS_DB_INDEX');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getenv('REDIS_USER_AUTH') !== false) {
|
if (getenv('REDIS_USER_AUTH')) {
|
||||||
$CONFIG['redis']['user'] = str_replace("&auth[]=", "", getenv('REDIS_USER_AUTH'));
|
$CONFIG['redis']['user'] = str_replace("&auth[]=", "", getenv('REDIS_USER_AUTH'));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$CONFIG = array(
|
||||||
|
'memcache.distributed' => '\OC\Memcache\Redis',
|
||||||
|
'memcache.locking' => '\OC\Memcache\Redis',
|
||||||
|
'redis.cluster' => array(
|
||||||
|
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
|
||||||
|
'timeout' => 0.0,
|
||||||
|
'read_timeout' => 0.0,
|
||||||
|
'failover_mode' => \RedisCluster::FAILOVER_ERROR,
|
||||||
|
'seeds' => array_values(array_filter(array(
|
||||||
|
(getenv('REDIS_HOST') && getenv('REDIS_PORT')) ? (getenv('REDIS_HOST') . ':' . (string)getenv('REDIS_PORT')) : null,
|
||||||
|
(getenv('REDIS_HOST_2') && getenv('REDIS_PORT_2')) ? (getenv('REDIS_HOST_2') . ':' . (string)getenv('REDIS_PORT_2')) : null,
|
||||||
|
(getenv('REDIS_HOST_3') && getenv('REDIS_PORT_3')) ? (getenv('REDIS_HOST_3') . ':' . (string)getenv('REDIS_PORT_3')) : null,
|
||||||
|
(getenv('REDIS_HOST_4') && getenv('REDIS_PORT_4')) ? (getenv('REDIS_HOST_4') . ':' . (string)getenv('REDIS_PORT_4')) : null,
|
||||||
|
(getenv('REDIS_HOST_5') && getenv('REDIS_PORT_5')) ? (getenv('REDIS_HOST_5') . ':' . (string)getenv('REDIS_PORT_5')) : null,
|
||||||
|
(getenv('REDIS_HOST_6') && getenv('REDIS_PORT_6')) ? (getenv('REDIS_HOST_6') . ':' . (string)getenv('REDIS_PORT_6')) : null,
|
||||||
|
(getenv('REDIS_HOST_7') && getenv('REDIS_PORT_7')) ? (getenv('REDIS_HOST_7') . ':' . (string)getenv('REDIS_PORT_7')) : null,
|
||||||
|
(getenv('REDIS_HOST_8') && getenv('REDIS_PORT_8')) ? (getenv('REDIS_HOST_8') . ':' . (string)getenv('REDIS_PORT_8')) : null,
|
||||||
|
(getenv('REDIS_HOST_9') && getenv('REDIS_PORT_9')) ? (getenv('REDIS_HOST_9') . ':' . (string)getenv('REDIS_PORT_9')) : null,
|
||||||
|
))),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (getenv('REDIS_USER_AUTH')) {
|
||||||
|
$CONFIG['redis.cluster']['user'] = str_replace("&auth[]=", "", getenv('REDIS_USER_AUTH'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,6 @@
|
||||||
if [ -z "$NEXTCLOUD_HOST" ]; then
|
if [ -z "$NEXTCLOUD_HOST" ]; then
|
||||||
echo "NEXTCLOUD_HOST needs to be provided. Exiting!"
|
echo "NEXTCLOUD_HOST needs to be provided. Exiting!"
|
||||||
exit 1
|
exit 1
|
||||||
elif [ -z "$POSTGRES_HOST" ]; then
|
|
||||||
echo "POSTGRES_HOST needs to be provided. Exiting!"
|
|
||||||
exit 1
|
|
||||||
elif [ -z "$REDIS_HOST" ]; then
|
|
||||||
echo "REDIS_HOST needs to be provided. Exiting!"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Only start container if nextcloud is accessible
|
# Only start container if nextcloud is accessible
|
||||||
|
|
@ -28,7 +22,7 @@ elif [ "$CPU_ARCH" != "x86_64" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add warning
|
# Add warning
|
||||||
if ! [ -f /nextcloud/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
|
if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
|
||||||
echo "The notify_push binary was not found."
|
echo "The notify_push binary was not found."
|
||||||
echo "Most likely is DNS resolution not working correctly."
|
echo "Most likely is DNS resolution not working correctly."
|
||||||
echo "You can try to fix this by configuring a DNS server globally in dockers daemon.json."
|
echo "You can try to fix this by configuring a DNS server globally in dockers daemon.json."
|
||||||
|
|
@ -44,52 +38,9 @@ fi
|
||||||
|
|
||||||
echo "notify-push was started"
|
echo "notify-push was started"
|
||||||
|
|
||||||
# Set a default value for POSTGRES_PORT
|
|
||||||
if [ -z "$POSTGRES_PORT" ]; then
|
|
||||||
POSTGRES_PORT=5432
|
|
||||||
fi
|
|
||||||
# Set a default for redis db index
|
|
||||||
if [ -z "$REDIS_DB_INDEX" ]; then
|
|
||||||
REDIS_DB_INDEX=0
|
|
||||||
fi
|
|
||||||
# Set a default value for REDIS_PORT
|
|
||||||
if [ -z "$REDIS_PORT" ]; then
|
|
||||||
REDIS_PORT=6379
|
|
||||||
fi
|
|
||||||
# Set a default for db type
|
|
||||||
if [ -z "$DATABASE_TYPE" ]; then
|
|
||||||
DATABASE_TYPE=postgres
|
|
||||||
elif [ "$DATABASE_TYPE" != postgres ] && [ "$DATABASE_TYPE" != mysql ]; then
|
|
||||||
echo "DB type must be either postgres or mysql"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Use the correct Postgres username
|
|
||||||
if [ "$POSTGRES_USER" = nextcloud ]; then
|
|
||||||
POSTGRES_USER="oc_$POSTGRES_USER"
|
|
||||||
export POSTGRES_USER
|
|
||||||
fi
|
|
||||||
|
|
||||||
# URL-encode passwords
|
|
||||||
POSTGRES_PASSWORD="$(jq -rn --arg v "$POSTGRES_PASSWORD" '$v|@uri')"
|
|
||||||
REDIS_HOST_PASSWORD="$(jq -rn --arg v "$REDIS_HOST_PASSWORD" '$v|@uri')"
|
|
||||||
|
|
||||||
# Postgres root cert
|
|
||||||
if [ -f "/nextcloud/data/certificates/POSTGRES" ]; then
|
|
||||||
CERT_OPTIONS="?sslmode=verify-ca&sslrootcert=/nextcloud/data/certificates/ca-bundle.crt"
|
|
||||||
# Mysql root cert
|
|
||||||
elif [ -f "/nextcloud/data/certificates/MYSQL" ]; then
|
|
||||||
CERT_OPTIONS="?sslmode=verify-ca&ssl-ca=/nextcloud/data/certificates/ca-bundle.crt"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set sensitive values as env
|
|
||||||
export DATABASE_URL="$DATABASE_TYPE://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB$CERT_OPTIONS"
|
|
||||||
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST:$REDIS_PORT/$REDIS_DB_INDEX"
|
|
||||||
|
|
||||||
# Run it
|
# Run it
|
||||||
/nextcloud/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \
|
/var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \
|
||||||
--database-prefix="oc_" \
|
--port 7867 \
|
||||||
--nextcloud-url "https://$NC_DOMAIN" \
|
/var/www/html/config/config.php
|
||||||
--port 7867
|
|
||||||
|
|
||||||
exec "$@"
|
exec "$@"
|
||||||
|
|
|
||||||
|
|
@ -299,22 +299,13 @@
|
||||||
"volumes": [
|
"volumes": [
|
||||||
{
|
{
|
||||||
"source": "nextcloud_aio_nextcloud",
|
"source": "nextcloud_aio_nextcloud",
|
||||||
"destination": "/nextcloud",
|
"destination": "/var/www/html",
|
||||||
"writeable": false
|
"writeable": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"environment": [
|
"environment": [
|
||||||
"NC_DOMAIN=%NC_DOMAIN%",
|
|
||||||
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
|
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
|
||||||
"TZ=%TIMEZONE%",
|
"TZ=%TIMEZONE%"
|
||||||
"REDIS_HOST=nextcloud-aio-redis",
|
|
||||||
"REDIS_PORT=6379",
|
|
||||||
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
|
|
||||||
"POSTGRES_HOST=nextcloud-aio-database",
|
|
||||||
"POSTGRES_PORT=5432",
|
|
||||||
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
|
|
||||||
"POSTGRES_DB=nextcloud_database",
|
|
||||||
"POSTGRES_USER=nextcloud"
|
|
||||||
],
|
],
|
||||||
"restart": "unless-stopped",
|
"restart": "unless-stopped",
|
||||||
"read_only": true,
|
"read_only": true,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue