mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-09 17:31:03 +01:00
54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/with-contenv bashio
|
|
# shellcheck shell=bash
|
|
set -e
|
|
|
|
# Define user
|
|
PUID=$(bashio::config "PUID")
|
|
PGID=$(bashio::config "PGID")
|
|
|
|
# Check data location
|
|
LOCATION=$(bashio::config 'data_location')
|
|
|
|
if [[ "$LOCATION" = "null" || -z "$LOCATION" ]]; then
|
|
# Default location
|
|
LOCATION="/config"
|
|
else
|
|
bashio::log.warning "Warning : a custom data location was selected, but the previous folder will NOT be copied. You need to do it manually"
|
|
|
|
# Check if config is located in an acceptable location
|
|
LOCATIONOK=""
|
|
for location in "/share" "/config" "/data" "/mnt"; do
|
|
if [[ "$LOCATION" == "$location"* ]]; then
|
|
LOCATIONOK=true
|
|
fi
|
|
done
|
|
|
|
if [ -z "$LOCATIONOK" ]; then
|
|
LOCATION=/config
|
|
bashio::log.fatal "Your data_location value can only be set in /share, /config or /data (internal to addon). It will be reset to the default location : $LOCATION"
|
|
fi
|
|
|
|
fi
|
|
|
|
# Set data location
|
|
bashio::log.info "Setting data location to $LOCATION"
|
|
sed -i "1a export HOME=$LOCATION" /etc/services.d/*/run
|
|
sed -i "1a export FM_HOME=$LOCATION" /etc/services.d/*/run
|
|
sed -i "s|/config|$LOCATION|g" /defaults/*
|
|
sed -i "s|/config|$LOCATION|g" /etc/cont-init.d/*
|
|
sed -i "s|/config|$LOCATION|g" /etc/services.d/*/run
|
|
if [ -d /var/run/s6/container_environment ]; then printf "%s" "$LOCATION" > /var/run/s6/container_environment/HOME; fi
|
|
if [ -d /var/run/s6/container_environment ]; then printf "%s" "$LOCATION" > /var/run/s6/container_environment/FM_HOME; fi
|
|
printf "%s\n" "HOME=\"$LOCATION\"" >> ~/.bashrc
|
|
printf "%s\n" "FM_HOME=\"$LOCATION\"" >> ~/.bashrc
|
|
|
|
usermod --home "$LOCATION" abc
|
|
|
|
# Create folder
|
|
echo "Creating $LOCATION"
|
|
mkdir -p "$LOCATION"
|
|
|
|
# Set ownership
|
|
bashio::log.info "Setting ownership to $PUID:$PGID"
|
|
chown "$PUID":"$PGID" "$LOCATION"
|