mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-09 17:31:03 +01:00
65 lines
2.6 KiB
Bash
Executable File
65 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/with-contenv bashio
|
|
# shellcheck shell=bash
|
|
set -e
|
|
|
|
if bashio::config.has_value "PUID" && bashio::config.has_value "PGID"; then
|
|
PUID="$(bashio::config "PUID")"
|
|
PGID="$(bashio::config "PGID")"
|
|
bashio::log.green "Setting user to $PUID:$PGID"
|
|
id -u abc &> /dev/null || usermod -o -u "$PUID" abc || true
|
|
id -g abc &> /dev/null || groupmod -o -g "$PGID" abc || true
|
|
fi
|
|
|
|
echo "Updating permissions..."
|
|
echo "... Config directory : /data"
|
|
mkdir -p /data/config
|
|
chmod 755 -R /data/config
|
|
chown -R "$PUID:$PGID" "/data/config"
|
|
|
|
# Check current version
|
|
if [ -f /data/config/www/nextcloud/config/config.php ]; then
|
|
datadirectory="$(sed -n "s|.*datadirectory.*' => '*\(.*[^ ]\) *',.*|\1|p" /data/config/www/nextcloud/config/config.php)"
|
|
echo "... data directory detected : $datadirectory"
|
|
else
|
|
datadirectory=/config/data
|
|
echo "Nextcloud is not installed yet, the default data directory is : $datadirectory. You can change it during nextcloud installation."
|
|
mkdir -p /config/data
|
|
chmod 755 /config/data
|
|
mkdir -p /share/nextcloud
|
|
chmod 755 /share/nextcloud
|
|
fi
|
|
|
|
# Is the directory valid
|
|
if [[ "$datadirectory" == *"/mnt/"* ]] && [ ! -f "$datadirectory"/index.html ]; then
|
|
bashio::log.fatal "Data directory does not seem to be valid. Is your drive connected? Stopping to avoid corrupting the data directory."
|
|
bashio::addon.stop
|
|
fi
|
|
|
|
# Remove nginx conf if existing
|
|
if [ -f /data/config/nginx/site-confs/default.conf ]; then
|
|
rm /data/config/nginx/site-confs/default.conf
|
|
# Avoid cannot enable app
|
|
sed -i "s|front_controller_active true|front_controller_active false|g" /defaults/nginx/site-confs/default.conf.sample
|
|
fi
|
|
|
|
# Set permissions
|
|
mkdir -p "$datadirectory"
|
|
if bashio::config.true "skip_permissions_check"; then
|
|
bashio::log.yellow "--------------------------------------------"
|
|
bashio::log.yellow "Permissions check skipped : \"skip_permissions_check\" is true"
|
|
bashio::log.yellow "--------------------------------------------"
|
|
elif [[ "$PUID" = "0" ]] && [[ "$PGID" = "0" ]]; then
|
|
bashio::log.yellow "--------------------------------------------"
|
|
bashio::log.yellow "Permissions check skipped : \"PUID and PGID are 0\" is true"
|
|
bashio::log.yellow "--------------------------------------------"
|
|
else
|
|
bashio::log.yellow "... setting permissions, this might take a long time. If it takes too long at each boot, you could instead activate skip_permissions_check in the addon options"
|
|
chmod 755 -R "$datadirectory" || true
|
|
chown -R "$PUID:$PGID" "$datadirectory" || true
|
|
fi
|
|
|
|
mkdir -p /scripts
|
|
|
|
echo "... done"
|
|
echo " "
|