50 lines
1.5 KiB
Bash
Executable File
50 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
if [ ! -f "/homehub_workspace/package.json" ]; then
|
|
echo "$0: Initializing the workspace at /homehub_workspace"
|
|
(
|
|
cd /;
|
|
/homehub_var/virtualenv/bin/cookiecutter --no-input -f -s /homehub-workspace;
|
|
)
|
|
fi
|
|
|
|
if [ -d "/homehub_workspace/docker-entrypoint.d/" ]; then
|
|
echo "$0: Executing setup scripts at /homehub_workspace/docker-entrypoint.d"
|
|
find "/homehub_workspace/docker-entrypoint.d/" -follow -type f -print | sort -n | while read -r f; do
|
|
case "$f" in
|
|
*.sh)
|
|
if [ -x "$f" ]; then
|
|
echo "$0: Executing $f";
|
|
"$f"
|
|
fi
|
|
;;
|
|
*) ;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
(
|
|
echo "$0: Installing backend dependencies at /homehub_workspace";
|
|
cd /homehub_workspace;
|
|
/homehub_var/virtualenv/bin/pip install -r requirements.txt;
|
|
)
|
|
|
|
SHOULD_BUILD_FRONTEND=1
|
|
if [ -f "/homehub_var/stamp_frontend.txt" ]; then
|
|
SHOULD_BUILD_FRONTEND=`sha256sum -s -c "/homehub_var/stamp_frontend.txt"; echo $?`
|
|
fi
|
|
|
|
if [ $SHOULD_BUILD_FRONTEND -eq 1 ]; then
|
|
echo "$0: Building and stamping the frontend at /homehub_workspace"
|
|
(
|
|
cd /homehub_workspace;
|
|
yarn --modules-folder $YARN_MODULES_FOLDER install --prod --pure-lockfile;
|
|
yarn --modules-folder $YARN_MODULES_FOLDER run webpack-cli;
|
|
sha256sum "/homehub_workspace/package.json" "/homehub_workspace/settings.js" > "/homehub_var/stamp_frontend.txt";
|
|
)
|
|
fi
|
|
|
|
exec "$@"
|