aur/nextcloud/nextcloud.occ.sh

46 lines
1.3 KiB
Bash
Raw Normal View History

2023-01-15 10:12:57 +01:00
#!/usr/bin/env bash
readonly default_config="/etc/PHP_INTERPRETER/php.ini"
readonly default_php_command="/usr/bin/PHP_INTERPRETER"
readonly default_user="nextcloud"
readonly preserved_environment_vars="NEXTCLOUD_CONFIG_DIR"
config=""
php_command=""
user=""
check_sudo() {
if ! command -v sudo > /dev/null; then
printf "The sudo command is not available.\n"
exit 1
fi
}
# allow overriding the php.ini
if [[ -n "${NEXTCLOUD_PHP_CONFIG}" ]] && [[ -f "${NEXTCLOUD_PHP_CONFIG}" ]]; then
config="${NEXTCLOUD_PHP_CONFIG}"
else
config="${default_config}"
fi
# allow overriding the php executable
if [[ -n "${NEXTCLOUD_PHP}" ]] && command -v "${NEXTCLOUD_PHP}" > /dev/null; then
php_command="${NEXTCLOUD_PHP}"
else
php_command="${default_php_command}"
fi
# allow overriding the user to run as
if [[ -n "${NEXTCLOUD_USER}" ]] && id "${NEXTCLOUD_USER}" > /dev/null 2>&1; then
user="${NEXTCLOUD_USER}"
else
user="${default_user}"
fi
if [[ "${UID}" -eq 0 ]]; then
runuser --whitelist-environment="${preserved_environment_vars}" -u "$user" -- "$php_command" -c "${config}" /usr/share/webapps/nextcloud/occ "$@"
else
check_sudo
sudo --preserve-env="${preserved_environment_vars}" -u "$user" "$php_command" -c "${config}" /usr/share/webapps/nextcloud/occ "$@"
fi