Updates
This commit is contained in:
106
lowcoder/deploy/docker/all-in-one/entrypoint.sh
Normal file
106
lowcoder/deploy/docker/all-in-one/entrypoint.sh
Normal file
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export USER_ID=${LOWCODER_PUID:=9001}
|
||||
export GROUP_ID=${LOWCODER_PGID:=9001}
|
||||
|
||||
# Set default variable values
|
||||
echo "Overriding default environment variables:"
|
||||
for line in `grep '^[ \t]*LOWCODER_.*$' /lowcoder/etc/default.env`; do
|
||||
VARNAME=`echo ${line} | sed -e 's/^\([A-Z0-9_]\+\)\([ \t]*=[ \t]*\)\(.*\)$/\1/'`
|
||||
if [ -z "$(eval echo \"\$$VARNAME\")" ]; then
|
||||
export $(eval echo "${line}")
|
||||
else
|
||||
echo " ${line}"
|
||||
fi;
|
||||
done;
|
||||
echo "Done."
|
||||
|
||||
# Update ID of lowcoder user if required
|
||||
if [ ! "$(id --user lowcoder)" -eq ${USER_ID} ]; then
|
||||
usermod --uid ${USER_ID} lowcoder
|
||||
echo "ID for lowcoder user changed to: ${USER_ID}"
|
||||
fi;
|
||||
|
||||
# Update ID of lowcoder group if required
|
||||
if [ ! "$(id --group lowcoder)" -eq ${GROUP_ID} ]; then
|
||||
groupmod --gid ${GROUP_ID} lowcoder
|
||||
echo "ID for lowcoder group changed to: ${GROUP_ID}"
|
||||
fi;
|
||||
|
||||
# Update host on which mongo is supposed to listen
|
||||
# If LOWCODER_MONGODB_EXPOSED is true, it will listen on all interfaces
|
||||
if [ "${LOWCODER_MONGODB_EXPOSED}" = "true" ]; then
|
||||
export MONGO_LISTEN_HOST="0.0.0.0"
|
||||
else
|
||||
export MONGO_LISTEN_HOST="127.0.0.1"
|
||||
fi;
|
||||
|
||||
# Set the default mongodb connection string if not set explicitly
|
||||
if [ -z "${LOWCODER_MONGODB_URL}" ]; then
|
||||
export LOWCODER_MONGODB_URL="mongodb://localhost:27017/lowcoder?authSource=admin"
|
||||
fi;
|
||||
|
||||
LOGS="/lowcoder-stacks/logs"
|
||||
DATA="/lowcoder-stacks/data"
|
||||
CERT="/lowcoder-stacks/ssl"
|
||||
# Create folder for holding application logs and data
|
||||
mkdir -p ${LOGS}/redis \
|
||||
${LOGS}/mongodb \
|
||||
${LOGS}/api-service \
|
||||
${LOGS}/node-service \
|
||||
${LOGS}/frontend \
|
||||
${DATA}/redis \
|
||||
${DATA}/mongodb \
|
||||
${CERT}
|
||||
|
||||
# Update owner of logs and data - do not try if not running as root (OpenShift)
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
chown -R "${USER_ID}:${GROUP_ID}" /lowcoder-stacks/ /lowcoder/etc
|
||||
fi
|
||||
|
||||
# Enable services
|
||||
SUPERVISOR_AVAILABLE="/lowcoder/etc/supervisord/conf-available"
|
||||
SUPERVISOR_ENABLED="/lowcoder/etc/supervisord/conf-enabled"
|
||||
|
||||
# Create folder for supervisor conf-enabled
|
||||
mkdir -p ${SUPERVISOR_ENABLED}
|
||||
|
||||
# Recreate links to enabled services
|
||||
rm -f ${SUPERVISOR_ENABLED}/*.conf
|
||||
|
||||
# Enable redis if configured to run
|
||||
if [ "${LOWCODER_REDIS_ENABLED:=true}" = "true" ]; then
|
||||
ln ${SUPERVISOR_AVAILABLE}/01-redis.conf ${SUPERVISOR_ENABLED}/01-redis.conf
|
||||
fi;
|
||||
|
||||
# Enable mongodb if configured to run
|
||||
if [ "${LOWCODER_MONGODB_ENABLED:=true}" = "true" ]; then
|
||||
ln ${SUPERVISOR_AVAILABLE}/02-mongodb.conf ${SUPERVISOR_ENABLED}/02-mongodb.conf
|
||||
fi;
|
||||
|
||||
# Enable api-service if configured to run
|
||||
if [ "${LOWCODER_API_SERVICE_ENABLED:=true}" = "true" ]; then
|
||||
ln ${SUPERVISOR_AVAILABLE}/10-api-service.conf ${SUPERVISOR_ENABLED}/10-api-service.conf
|
||||
fi;
|
||||
|
||||
# Enable node-service if configured to run
|
||||
if [ "${LOWCODER_NODE_SERVICE_ENABLED:=true}" = "true" ]; then
|
||||
ln ${SUPERVISOR_AVAILABLE}/11-node-service.conf ${SUPERVISOR_ENABLED}/11-node-service.conf
|
||||
fi;
|
||||
|
||||
# Enable frontend if configured to run
|
||||
if [ "${LOWCODER_FRONTEND_ENABLED:=true}" = "true" ]; then
|
||||
ln ${SUPERVISOR_AVAILABLE}/20-frontend.conf ${SUPERVISOR_ENABLED}/20-frontend.conf
|
||||
fi;
|
||||
|
||||
# disable user directive if image is running non-root (Openshift)
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
for i in "${SUPERVISOR_ENABLED}"/*.conf; do
|
||||
sed -Ei 's/^\s*user=.*$//' "$i"
|
||||
done
|
||||
fi
|
||||
|
||||
# Handle CMD command
|
||||
"$@"
|
||||
Reference in New Issue
Block a user