mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-09-14 10:36:35 +08:00
Add a config option for the postgres database port
Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
parent
d8a73f8786
commit
047c3555ba
7 changed files with 46 additions and 7 deletions
|
@ -212,7 +212,11 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
|
|||
DATADIR_PERMISSION_CONF
|
||||
|
||||
echo "Installing with PostgreSQL database"
|
||||
INSTALL_OPTIONS+=(--database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST")
|
||||
# Set a default value for POSTGRES_PORT
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
INSTALL_OPTIONS+=(--database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST" --database-port "$POSTGRES_PORT")
|
||||
|
||||
echo "Starting Nextcloud installation..."
|
||||
if ! php /var/www/html/occ maintenance:install "${INSTALL_OPTIONS[@]}"; then
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
nc -z "$POSTGRES_HOST" 5432 || exit 0
|
||||
# Set a default value for POSTGRES_PORT
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
|
||||
|
||||
# POSTGRES_HOST must be set in the containers env vars and POSTGRES_PORT has a default above
|
||||
# shellcheck disable=SC2153
|
||||
nc -z "$POSTGRES_HOST" "$POSTGRES_PORT" || exit 0
|
||||
|
||||
if ! nc -z localhost 9000; then
|
||||
exit 1
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Set a default value for POSTGRES_PORT
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
|
||||
# Only start container if database is accessible
|
||||
while ! sudo -u www-data nc -z "$POSTGRES_HOST" 5432; do
|
||||
# POSTGRES_HOST must be set in the containers env vars and POSTGRES_PORT has a default above
|
||||
# shellcheck disable=SC2153
|
||||
while ! sudo -u www-data nc -z "$POSTGRES_HOST" "$POSTGRES_PORT"; do
|
||||
echo "Waiting for database to start..."
|
||||
sleep 5
|
||||
done
|
||||
|
@ -13,7 +20,7 @@ export POSTGRES_USER
|
|||
# Fix false database connection on old instances
|
||||
if [ -f "/var/www/html/config/config.php" ]; then
|
||||
sleep 2
|
||||
while ! sudo -u www-data psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$POSTGRES_DB" -c "select now()"; do
|
||||
while ! sudo -u www-data psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB" -c "select now()"; do
|
||||
echo "Waiting for the database to start..."
|
||||
sleep 5
|
||||
done
|
||||
|
|
|
@ -44,8 +44,12 @@ fi
|
|||
|
||||
echo "notify-push was started"
|
||||
|
||||
# Set a default value for POSTGRES_PORT
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
# Set sensitive values as env
|
||||
export DATABASE_URL="postgres://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB"
|
||||
export DATABASE_URL="postgres://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB"
|
||||
export REDIS_URL="redis://:$REDIS_HOST_PASSWORD@$REDIS_HOST"
|
||||
|
||||
# Run it
|
||||
|
|
|
@ -2,4 +2,9 @@
|
|||
|
||||
test -f "/mnt/data/backup-is-running" && exit 0
|
||||
|
||||
psql -d "postgresql://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "select now()" || exit 1
|
||||
# Set a default value for POSTGRES_PORT
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
|
||||
psql -d "postgresql://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:$POSTGRES_PORT/$POSTGRES_DB" -c "select now()" || exit 1
|
||||
|
|
|
@ -6,6 +6,14 @@ export DUMP_DIR="/mnt/data"
|
|||
DUMP_FILE="$DUMP_DIR/database-dump.sql"
|
||||
export PGPASSWORD="$POSTGRES_PASSWORD"
|
||||
|
||||
# Set a default value for POSTGRES_PORT
|
||||
if [ -z "$POSTGRES_PORT" ]; then
|
||||
POSTGRES_PORT=5432
|
||||
fi
|
||||
|
||||
# Set PGPORT (the variable used by the postgres entrypoint) to the configured value
|
||||
export PGPORT=$POSTGRES_PORT
|
||||
|
||||
# Don't start database as long as backup is running
|
||||
while [ -f "$DUMP_DIR/backup-is-running" ]; do
|
||||
echo "Waiting for backup container to finish..."
|
||||
|
@ -131,7 +139,7 @@ EOSQL
|
|||
pg_ctl stop -m fast
|
||||
|
||||
# Change database port back to default
|
||||
export PGPORT=5432
|
||||
export PGPORT=$POSTGRES_PORT
|
||||
|
||||
# Don't exit if command fails anymore
|
||||
set +ex
|
||||
|
|
|
@ -99,6 +99,7 @@
|
|||
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
|
||||
"POSTGRES_DB=nextcloud_database",
|
||||
"POSTGRES_USER=nextcloud",
|
||||
"POSTGRES_PORT=5432",
|
||||
"TZ=%TIMEZONE%",
|
||||
"PGTZ=%TIMEZONE%"
|
||||
],
|
||||
|
@ -173,6 +174,7 @@
|
|||
],
|
||||
"environment": [
|
||||
"POSTGRES_HOST=nextcloud-aio-database",
|
||||
"POSTGRES_PORT=5432",
|
||||
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
|
||||
"POSTGRES_DB=nextcloud_database",
|
||||
"POSTGRES_USER=nextcloud",
|
||||
|
@ -266,6 +268,7 @@
|
|||
"REDIS_HOST=nextcloud-aio-redis",
|
||||
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
|
||||
"POSTGRES_HOST=nextcloud-aio-database",
|
||||
"POSTGRES_PORT=5432",
|
||||
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
|
||||
"POSTGRES_DB=nextcloud_database",
|
||||
"POSTGRES_USER=nextcloud"
|
||||
|
|
Loading…
Add table
Reference in a new issue