mirror of
https://github.com/linuxserver/docker-unifi-network-application.git
synced 2025-03-05 20:59:58 -08:00
53 lines
1.4 KiB
Plaintext
Executable file
53 lines
1.4 KiB
Plaintext
Executable file
#!/usr/bin/with-contenv bash
|
||
# shellcheck shell=bash
|
||
|
||
# create our folders
|
||
mkdir -p \
|
||
/run/unifi/work/ROOT \
|
||
/config/{data,logs}
|
||
|
||
# create symlinks for config
|
||
symlinks=( \
|
||
/usr/lib/unifi/data \
|
||
/usr/lib/unifi/logs )
|
||
|
||
for i in "${symlinks[@]}"; do
|
||
if [[ -L "$i" && ! "$i" -ef /config/"$(basename "$i")" ]]; then
|
||
unlink "$i"
|
||
fi
|
||
if [[ ! -L "$i" ]]; then
|
||
ln -s /config/"$(basename "$i")" "$i"
|
||
fi
|
||
done
|
||
|
||
if [[ -L "/usr/lib/unifi/run" && ! "/usr/lib/unifi/run" -ef "/run/unifi" ]]; then
|
||
unlink "/usr/lib/unifi/run"
|
||
fi
|
||
if [[ ! -L "/usr/lib/unifi/run" ]]; then
|
||
ln -s "/run/unifi" "/usr/lib/unifi/run"
|
||
fi
|
||
|
||
if [[ ! -e /config/data/system.properties ]]; then
|
||
if [[ -z "${MONGO_URI}" || -z "${STAT_MONGO_URI}" || -z "${MONGO_DBNAME}" ]]; then
|
||
echo "*** Required environment variables are not set, cannot configure database settings. ***"
|
||
sleep infinity
|
||
else
|
||
envsubst < /defaults/system.properties > /config/data/system.properties
|
||
fi
|
||
fi
|
||
|
||
# generate key
|
||
if [[ ! -f /config/data/keystore ]]; then
|
||
keytool -genkey -keyalg RSA -alias unifi -keystore /config/data/keystore \
|
||
-storepass aircontrolenterprise -keypass aircontrolenterprise -validity 3650 \
|
||
-keysize 4096 -dname "cn=unifi" -ext san=dns:unifi
|
||
fi
|
||
|
||
# permissions
|
||
lsiown -R abc:abc \
|
||
/config \
|
||
/run/unifi
|
||
|
||
lsiown abc:abc \
|
||
/config/data/keystore
|