69 lines
1.5 KiB
Bash
69 lines
1.5 KiB
Bash
#!/bin/sh
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
|
|
if [ ! -f "/var/www/nextcloud/config/config.php" ]; then
|
|
POSTGRES_HOST="${POSTGRES_HOST:-nextcloud-postgresql}"
|
|
POSTGRES_PORT="${POSTGRES_PORT:-5432}"
|
|
POSTGRES_USER="${POSTGRES_USER:-nextcloud}"
|
|
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-nextcloud}"
|
|
POSTGRES_DB="${POSTGRES_DB:-$POSTGRES_USER}"
|
|
|
|
ADMIN_USER="admin"
|
|
ADMIN_PASS="$(head -c 128 /dev/urandom | tr -dc 'A-Za-z0-9' | head -c 64)"
|
|
|
|
echo "Installing Nextcloud..."
|
|
|
|
occ maintenance:install \
|
|
--database "pgsql" \
|
|
--database-host "$POSTGRES_HOST" \
|
|
--database-port "$POSTGRES_PORT" \
|
|
--database-user "$POSTGRES_USER" \
|
|
--database-pass "$POSTGRES_PASSWORD" \
|
|
--database-name "$POSTGRES_DB" \
|
|
--admin-user "$ADMIN_USER" \
|
|
--admin-pass "$ADMIN_PASS" \
|
|
--data-dir "/var/lib/nextcloud"
|
|
|
|
if [ -f /etc/nextcloud/post-setup.sh ]; then
|
|
# shellcheck disable=SC1091
|
|
. /etc/nextcloud/post-setup.sh
|
|
fi
|
|
fi
|
|
|
|
occ upgrade
|
|
occ app:update --all
|
|
|
|
occ db:add-missing-columns
|
|
occ db:add-missing-indices
|
|
occ db:add-missing-primary-keys
|
|
|
|
occ maintenance:repair --include-expensive
|
|
|
|
occ background:cron
|
|
occ maintenance:update:htaccess
|
|
|
|
cron
|
|
|
|
PHPRC="$(dirname "$(readlink -f "$(which php)")")/../lib/php.ini"
|
|
export PHPRC
|
|
|
|
PIDFILE=$(mktemp)
|
|
|
|
# shellcheck disable=SC2016
|
|
setsid sh -c '
|
|
echo "$$" > "$1"
|
|
shift
|
|
exec httpd "$@"
|
|
' _ "$PIDFILE" "$@" &
|
|
|
|
until [ -s "$PIDFILE" ]; do sleep 0.1; done
|
|
|
|
PID=$(cat "$PIDFILE")
|
|
rm "$PIDFILE"
|
|
|
|
trap 'kill -INT "$PID"' INT TERM
|
|
wait "$PID"
|
|
exit $?
|