docker-run.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/sh
  2. cd /opt/mautrix-signal
  3. function fixperms {
  4. chown -R $UID:$GID /data
  5. # /opt/mautrix-signal is read-only, so disable file logging if it's pointing there.
  6. if [[ "$(yq e '.logging.handlers.file.filename' /data/config.yaml)" == "./mautrix-signal.log" ]]; then
  7. yq -I4 e -i 'del(.logging.root.handlers[] | select(. == "file"))' /data/config.yaml
  8. yq -I4 e -i 'del(.logging.handlers.file)' /data/config.yaml
  9. fi
  10. }
  11. if [ ! -f /data/config.yaml ]; then
  12. cp example-config.yaml /data/config.yaml
  13. yq -I4 e -i 'del(.logging.root.handlers[] | select(. == "file"))' /data/config.yaml
  14. yq -I4 e -i 'del(.logging.handlers.file)' /data/config.yaml
  15. yq -I4 e -i '.signal.socket_path = "/signald/signald.sock"' /data/config.yaml
  16. yq -I4 e -i '.signal.outgoing_attachment_dir = "/signald/attachments"' /data/config.yaml
  17. yq -I4 e -i '.signal.avatar_dir = "/signald/avatars"' /data/config.yaml
  18. yq -I4 e -i '.signal.data_dir = "/signald/data"' /data/config.yaml
  19. echo "Didn't find a config file."
  20. echo "Copied default config file to /data/config.yaml"
  21. echo "Modify that config file to your liking."
  22. echo "Start the container again after that to generate the registration file."
  23. fixperms
  24. exit
  25. fi
  26. if [ ! -f /data/registration.yaml ]; then
  27. python3 -m mautrix_signal -g -c /data/config.yaml -r /data/registration.yaml
  28. echo "Didn't find a registration file."
  29. echo "Generated one for you."
  30. echo "See https://docs.mau.fi/bridges/general/registering-appservices.html on how to use it."
  31. fixperms
  32. exit
  33. fi
  34. fixperms
  35. exec su-exec $UID:$GID python3 -m mautrix_signal -c /data/config.yaml