30 lines
1.3 KiB
Bash
Executable File
30 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
mkdir -p /app/data/config /app/data/folders /run/syncthing
|
|
|
|
# if this if the first run, generate a useful config
|
|
if [[ ! -f /app/data/config/config.xml ]]; then
|
|
echo "=> Generating config"
|
|
STNODEFAULTFOLDER=1 /app/code/syncthing --generate="/app/data/config"
|
|
|
|
# The password value (changeme) was determined by reading config.xml and setting value in the GUI
|
|
# urAccepted is 0 for not decided, -1 for no reporting
|
|
xmlstarlet ed --inplace \
|
|
--subnode "//configuration/gui" -t elem -n user -v "admin" \
|
|
--subnode "//configuration/gui" -t elem -n password -v '$2a$10$93OsgwAMD4NcPFTpGDnuTORMMbj5dc1ZlYUPrQCcy1N/Bsy9scUvK' \
|
|
--update "//configuration/options/defaultFolderPath" -v '/app/data/folders' \
|
|
--update "//configuration/options/urAccepted" -v '-1' \
|
|
/app/data/config/config.xml
|
|
fi
|
|
|
|
# Set the listenAddress and the gui enabled to make sure user doesnt lock themselves out by accident.
|
|
sed -e "s,<listenAddress>.*</listenAddress>,<listenAddress>tcp://:${SYNC_PORT}</listenAddress>," -i /app/data/config/config.xml
|
|
sed -e 's,<gui .*>,<gui enabled="true" tls="false" debugging="false">,' -i /app/data/config/config.xml
|
|
|
|
chown -R cloudron:cloudron /app/data /run/syncthing
|
|
|
|
echo "Starting supervisor"
|
|
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i GitLab
|