Files
nix/packages/docker/nextcloud/entrypoint.sh
Nikolaos Karaolidis bf49eac272 Add jellyfin
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-07-05 16:41:54 +01:00

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 $?