mirror of
https://github.com/vector-im/element-web.git
synced 2025-08-24 07:51:34 +02:00
* fix: /tmp/element-web-config may already exist preventing the container from booting up * Update docker/docker-entrypoint.d/18-load-element-modules.sh Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --------- Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
35 lines
1015 B
Bash
Executable File
35 lines
1015 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Loads modules from `/tmp/element-web-modules` into config.json's `modules` field
|
|
|
|
set -e
|
|
|
|
entrypoint_log() {
|
|
if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
|
echo "$@"
|
|
fi
|
|
}
|
|
|
|
# Copy these config files as a base
|
|
mkdir -p /tmp/element-web-config
|
|
cp /app/config*.json /tmp/element-web-config/
|
|
|
|
# If there are modules to be loaded
|
|
if [ -d "/tmp/element-web-modules" ]; then
|
|
cd /tmp/element-web-modules
|
|
|
|
for MODULE in *
|
|
do
|
|
# If the module has a package.json, use its main field as the entrypoint
|
|
ENTRYPOINT="index.js"
|
|
if [ -f "/tmp/element-web-modules/$MODULE/package.json" ]; then
|
|
ENTRYPOINT=$(jq -r '.main' "/tmp/element-web-modules/$MODULE/package.json")
|
|
fi
|
|
|
|
entrypoint_log "Loading module $MODULE with entrypoint $ENTRYPOINT"
|
|
|
|
# Append the module to the config
|
|
jq ".modules += [\"/modules/$MODULE/$ENTRYPOINT\"]" /tmp/element-web-config/config.json | sponge /tmp/element-web-config/config.json
|
|
done
|
|
fi
|