40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
HOMEASSISTANT_DOMAIN="https://$DOMAIN";
|
|
|
|
|
|
SELECTOR=$HOMEASSISTANT
|
|
HOMEASSISTANT_IP=$(hostname -i | awk '{print $1}')
|
|
HOST_FILE=/etc/system/data/dns/hosts.local;
|
|
|
|
EXISTS=$(grep -w -F $SELECTOR $HOST_FILE);
|
|
if [ -n "$EXISTS" ]; then
|
|
# selector already exists in hosts file and SCALE is not in use
|
|
IP=$(echo $EXISTS | cut -d ' ' -f1);
|
|
sed "s/$IP/$HOMEASSISTANT_IP/g" $HOST_FILE > /tmp/hosts.local
|
|
mv /tmp/hosts.local $HOST_FILE;
|
|
else
|
|
echo "$HOMEASSISTANT_IP $SELECTOR" >> $HOST_FILE
|
|
fi
|
|
|
|
mkdir -p /etc/user/data/homeassistant/config
|
|
|
|
if [ ! -f /etc/user/data/homeassistant/config/configuration.yaml ]; then
|
|
|
|
echo '# Loads default set of integrations. Do not remove.
|
|
default_config:
|
|
homeassistant:
|
|
external_url: "'$HOMEASSISTANT_DOMAIN'"
|
|
http:
|
|
use_x_forwarded_for: true
|
|
trusted_proxies:' >/etc/user/data/homeassistant/config/configuration.yaml
|
|
|
|
PROXIES=$(grep -w smarthostbackend $HOST_FILE| awk '{print $1}')
|
|
|
|
for PROXY in $(echo $PROXIES) ; do
|
|
echo " - '$PROXY'" >>/etc/user/data/homeassistant/config/configuration.yaml
|
|
done
|
|
fi
|
|
|
|
yq eval '.homeassistant.external_url = "'$HOMEASSISTANT_DOMAIN'"' -i /etc/user/data/homeassistant/config/configuration.yaml
|