#!/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,.*,tcp://:${SYNCER_PORT}," -i /app/data/config/config.xml sed -e 's,,,' -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