mirror of
https://github.com/claudehohl/Stikked.git
synced 2025-04-25 12:31:06 -05:00
71 lines
2.7 KiB
Bash
71 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
# This is copied from the original docker-php-entrypoint and was updated
|
|
# by the Stikked container
|
|
|
|
set -e
|
|
|
|
# Check to see where Stikked might be - If you added Stikked to this
|
|
# container with something like:
|
|
# ADD https://github.com/claudehohl/Stikked/archive/0.12.0.tar.gz /usr/local
|
|
# then it will be in /usr/local/stikked/Stikked-0.12.0/htdocs/application/config/stikked.php.dist
|
|
|
|
# If you're using the standard Dockerfile from Stikked, it will be in
|
|
# /var/www/html/htdocs/applcation/config/stikked.php.dist
|
|
|
|
if [ -e /var/www/html/application/config/stikked.php.dist ]; then
|
|
CFG=/var/www/html/application/config/stikked.php
|
|
cp /var/www/html/application/config/stikked.php.dist $CFG
|
|
elif [ -e /usr/local/stikked/Stikked-*/htdocs/application/config/stikked.php.dist ]; then
|
|
CFG=$(echo /usr/local/stikked/Stikked-*/htdocs/application/config/stikked.php.dist | sed 's/\.dist//')
|
|
cp /usr/local/stikked/Stikked-*/htdocs/application/config/stikked.php.dist $CFG
|
|
else
|
|
echo I can not find the stikked.php.dist file, which means docker-php-entrypoint
|
|
echo needs to be updated. Sorry. I can not continue. Exiting.
|
|
exit -1
|
|
fi
|
|
|
|
# Set some default variables
|
|
STIKKED_SITE_NAME="${STIKKED_SITE_NAME:-Dockerised Stikked Container}"
|
|
STIKKED_BASE_URL="${STIKKED_BASE_URL:-https://bogus.example.com/}"
|
|
STIKKED_DB_HOSTNAME="${STIKKED_DB_HOSTNAME:-db}"
|
|
|
|
# If these aren't set, use MYSQL_ values. If they're not set, then
|
|
# just guess.
|
|
STIKKED_DB_DATABASE="${STIKKED_DB_DATABASE:-${MYSQL_DATABASE:-stikked}}"
|
|
STIKKED_DB_USERNAME="${STIKKED_DB_USERNAME:-${MYSQL_USER:-stikked}}"
|
|
STIKKED_DB_PASSWORD="${STIKKED_DB_PASSWORD:-${MYSQL_PASSWORD:-stikked}}"
|
|
|
|
# If there's not a cron key, set a random one.
|
|
if [ ! "$STIKKED_CRON_KEY" ]; then
|
|
# Note - this is not very random. But it'll do in a pinch.
|
|
STIKKED_CRON_KEY=$RANDOM.$RANDOM.$RANDOM.$RANDOM
|
|
fi
|
|
|
|
# Put the cron file in place
|
|
echo "*/5 * * * * root curl --silent http://localhost/cron/$STIKKED_CRON_KEY" > /etc/cron.d/stikked
|
|
|
|
# This gets all environment variables that start with STIKKED_
|
|
svars=$(set | grep \^STIKKED_ | cut -d= -f1)
|
|
for svar in $svars; do
|
|
# Remove STIKKED_ from the front, and convert it to lower
|
|
# case (STIKKED_CRON_KEY is now cron_key)
|
|
val=$(echo $svar | sed 's/STIKKED_\(.*\)/\L\1/')
|
|
# if it has a /, escape it - for example, in a path or URL.
|
|
FIXED=$(echo ${!svar} | sed 's_/_\\/_g')
|
|
# Tell the user what's going on
|
|
echo Setting $val to be $FIXED
|
|
# And actually update the file
|
|
sed -i "s/\['$val'\].*/['$val'] = '$FIXED';/" $CFG
|
|
done
|
|
|
|
# Start Cron, if it exists
|
|
[ -e /usr/sbin/cron ] && /usr/sbin/cron
|
|
|
|
# first arg is `-f` or `--some-option`
|
|
if [ "${1#-}" != "$1" ]; then
|
|
set -- apache2-foreground "$@"
|
|
fi
|
|
|
|
exec "$@"
|