12345678910111213141516171819202122232425262728 |
- #!/bin/bash
- set -eu
- mkdir -p /app/data/config
- # if this if the first run, generate a useful config
- if [ ! -f /app/data/config/config.xml ]; then
- echo "=> Generating config"
- /app/code/syncthing --generate="/app/data/config"
- # The password value was determined by reading config.xml and setting value in the GUI
- xmlstarlet ed --inplace \
- --subnode "//configuration/gui" -t elem -n user -v "admin" \
- --subnode "//configuration/gui" -t elem -n password -v '$2a$10$93OsgwAMD4NcPFTpGDnuTORMMbj5dc1ZlYUPrQCcy1N/Bsy9scUvK' \
- /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/config /app/data
- # -no-browser opens up the browser (for desktop app preumably)
- echo "=> Starting syncthing"
- STNODEFAULTFOLDER=1 STNOUPGRADE=1 exec /usr/local/bin/gosu cloudron:cloudron /app/code/syncthing -gui-address=0.0.0.0:3000 -home=/app/data/config -no-browser
|