100 lines
2.4 KiB
Bash
Executable File
100 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
#set -e
|
|
|
|
#: ${MYSQL_PORT_3306_TCP_ADDR:=mysql}
|
|
|
|
#if [ -z "$MYSQL_PORT_3306_TCP_ADDR" ]; then
|
|
# echo >&2 'error: missing MYSQL_PORT_3306_TCP environment variable'
|
|
# echo >&2 ' Did you forget to --link some_mysql_container:mysql ?'
|
|
# exit 1
|
|
#fi
|
|
|
|
# if we're linked to MySQL, and we're using the root user, and our linked
|
|
# container has a default "root" password set up and passed through... :)
|
|
: ${ETHERPAD_DB_USER:=root}
|
|
if [ "$ETHERPAD_DB_USER" = 'root' ]; then
|
|
: ${ETHERPAD_DB_PASSWORD:=$MYSQL_ENV_MYSQL_ROOT_PASSWORD}
|
|
fi
|
|
: ${ETHERPAD_DB_NAME:=etherpad}
|
|
|
|
ETHERPAD_DB_NAME=$( echo $ETHERPAD_DB_NAME | sed 's/\./_/g' )
|
|
|
|
if [ -z "$ETHERPAD_DB_PASSWORD" ]; then
|
|
echo >&2 'error: missing required ETHERPAD_DB_PASSWORD environment variable'
|
|
echo >&2 ' Did you forget to -e ETHERPAD_DB_PASSWORD=... ?'
|
|
echo >&2
|
|
echo >&2 ' (Also of interest might be ETHERPAD_DB_USER and ETHERPAD_DB_NAME.)'
|
|
exit 1
|
|
fi
|
|
|
|
: ${ETHERPAD_TITLE:=Etherpad}
|
|
: ${ETHERPAD_PORT:=9001}
|
|
|
|
cat settings.json
|
|
if [ ! -f settings.json ]; then
|
|
|
|
# cat <<- EOF > settings.json
|
|
# {
|
|
# "title": "${ETHERPAD_TITLE}",
|
|
# "ip": "0.0.0.0",
|
|
# "port": ${ETHERPAD_PORT},
|
|
# "maxAge": "${ETHERPAD_MAXAGE:-3600}",
|
|
# "minify": true,
|
|
# "dbType" : "mysql",
|
|
# "dbSettings" : {
|
|
# "user" : "${ETHERPAD_DB_USER}",
|
|
# "host" : "${MYSQL_PORT_3306_TCP_ADDR}",
|
|
# "password": "${ETHERPAD_DB_PASSWORD}",
|
|
# "database": "${ETHERPAD_DB_NAME}"
|
|
# },
|
|
# EOF
|
|
|
|
cat <<- EOF > settings.json
|
|
{
|
|
"title": "${ETHERPAD_TITLE}",
|
|
"ip": "0.0.0.0",
|
|
"port": ${ETHERPAD_PORT},
|
|
"maxAge": "${ETHERPAD_MAXAGE:-3600}",
|
|
"minify": true,
|
|
"dbType": "postgres",
|
|
"dbSettings": {
|
|
"user": "etherpad",
|
|
"host": "${ETHERPAD_DB_HOST}",
|
|
"port": 5432,
|
|
"password": "${ETHERPAD_DB_PASSWORD}",
|
|
"database": "${ETHERPAD_DB_NAME}",
|
|
"charset": "utf8mb4"
|
|
},
|
|
EOF
|
|
|
|
if [ $ETHERPAD_ADMIN_PASSWORD ]; then
|
|
|
|
: ${ETHERPAD_ADMIN_USER:=admin}
|
|
|
|
cat <<- EOF >> settings.json
|
|
"users": {
|
|
"${ETHERPAD_ADMIN_USER}": {
|
|
"password": "${ETHERPAD_ADMIN_PASSWORD}",
|
|
"is_admin": true
|
|
}
|
|
},
|
|
EOF
|
|
fi
|
|
|
|
cat <<- EOF >> settings.json
|
|
}
|
|
EOF
|
|
fi
|
|
|
|
cat settings.json
|
|
echo "Installing plugins..."
|
|
if [ $ETHERPAD_PLUGINS ]; then
|
|
IFS=',' read -r -a PLUGIN_LIST <<< "$ETHERPAD_PLUGINS"
|
|
for PLUGIN in "${PLUGIN_LIST[@]}"
|
|
do
|
|
./src/node_modules/.bin/npm install ${PLUGIN}
|
|
done
|
|
fi
|
|
|
|
exec "$@"
|