#!/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" occ user:delete admin occ app:disable \ app_api \ contactsinteraction \ dashboard \ federation \ firstrunwizard \ photos \ recommendations \ sharebymail \ support \ survey_client \ user_status \ weather_status occ app:install \ oidc_login 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 [ -n "${EXTRA_INIT:-}" ] && eval "$EXTRA_INIT" 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.01; done PID=$(cat "$PIDFILE") rm "$PIDFILE" trap 'kill -INT "$PID"' INT wait "$PID" exit $?