docker-flarum/run.sh

87 lines
2.2 KiB
Bash
Raw Normal View History

2016-07-17 05:35:13 -04:00
#!/bin/sh
2016-07-18 01:34:39 -04:00
# Env variables
export DB_HOST
export DB_USER
export DB_NAME
2016-08-08 02:09:01 -04:00
export DEBUG
2016-07-18 01:34:39 -04:00
# Default values
DB_HOST=${DB_HOST:-mariadb}
DB_USER=${DB_USER:-flarum}
DB_NAME=${DB_NAME:-flarum}
2016-08-08 02:09:01 -04:00
DEBUG=${DEBUG:-false}
2016-07-18 01:34:39 -04:00
# Required env variables
2016-07-17 05:35:13 -04:00
if [ -z "$DB_PASS" ]; then
echo "[ERROR] Mariadb database password must be set !"
exit 1
fi
if [ -z "$FORUM_URL" ]; then
echo "[ERROR] Forum url must be set !"
exit 1
fi
2016-09-25 05:22:48 -04:00
# Set permissions
chown -R $UID:$GID /flarum /etc/nginx /etc/php7 /var/log /var/lib/nginx /tmp /etc/s6.d
2016-10-23 17:01:02 -04:00
cd /flarum/app
2016-07-17 05:35:13 -04:00
# Custom HTTP errors pages
2016-10-29 13:36:42 -04:00
if [ -d 'assets/errors' ]; then
rm -rf vendor/flarum/core/error/*
ln -s /flarum/app/assets/errors/* vendor/flarum/core/error
fi
# Custom composer.json (eg. for privates extensions)
if [ -f 'assets/composer.custom.json' ]; then
cp -f assets/composer.custom.json composer.json
fi
# if no installation was performed before
2016-10-23 17:01:02 -04:00
if [ -e 'assets/rev-manifest.json' ]; then
2016-07-17 10:57:27 -04:00
echo "[INFO] Flarum already installed, init app..."
2016-10-23 17:01:02 -04:00
sed -i -e "s|<DEBUG>|${DEBUG}|g" \
-e "s|<DB_HOST>|${DB_HOST}|g" \
-e "s|<DB_NAME>|${DB_NAME}|g" \
-e "s|<DB_USER>|${DB_USER}|g" \
-e "s|<DB_PASS>|${DB_PASS}|g" \
-e "s|<DB_PREF>|${DB_PREF}|g" \
-e "s|<FORUM_URL>|${FORUM_URL}|g" config.php
su-exec $UID:$GID php flarum cache:clear
# Composer cache dir and packages list paths
2016-10-23 17:01:02 -04:00
CACHE_DIR=assets/.extensions
LIST_FILE=$CACHE_DIR/list
# Download extra extensions installed with composer wrapup script
if [ -s "$LIST_FILE" ]; then
echo "[INFO] Install extra bundled extensions"
while read extension; do
echo "[INFO] -------------- Install extension : ${extension} --------------"
2016-09-25 05:22:48 -04:00
COMPOSER_CACHE_DIR="$CACHE_DIR" su-exec $UID:$GID composer require "$extension"
done < "$LIST_FILE"
echo "[INFO] Install extra bundled extensions. DONE."
2016-10-23 17:01:02 -04:00
else
echo "[INFO] No installed extensions"
fi
echo "[INFO] Init done, launch flarum..."
2016-10-23 17:01:02 -04:00
else
2016-07-17 05:35:13 -04:00
2016-10-23 17:01:02 -04:00
echo "[INFO] First launch, you must install flarum by opening your browser and setting database parameters."
2016-10-23 17:18:57 -04:00
rm -rf config.php
2016-08-08 02:09:01 -04:00
2016-10-23 17:01:02 -04:00
fi
2016-07-17 05:35:13 -04:00
# Set permissions
2016-09-25 05:22:48 -04:00
chown -R $UID:$GID /flarum
2016-07-17 05:35:13 -04:00
# RUN !
2016-09-25 05:22:48 -04:00
exec su-exec $UID:$GID /bin/s6-svscan /etc/s6.d