docmachine-containers/docker/entrypoint.sh

73 lines
1.6 KiB
Bash
Raw Normal View History

2021-10-10 11:21:36 +02:00
#!/bin/sh
2021-11-30 14:02:48 +01:00
set -u
set -e
2021-10-10 11:21:36 +02:00
ARGS="$*"
echo "Arguments: $ARGS"
EXT_UID="${EXT_UID:-999}"
EXT_GID="${EXT_GID:-999}"
DOCMACHINE_DOCS_ENABLE="${DOCMACHINE_DOCS_ENABLE:-1}"
DOCMACHINE_SLIDES_ENABLE="${DOCMACHINE_SLIDES_ENABLE:-1}"
2021-11-30 14:02:48 +01:00
gx_workdir_prepare() {
# Create missing directories
mkdir -p _cache
mkdir -p _build
if [ "$DOCMACHINE_SLIDES_ENABLE" = "1" ]; then
mkdir -p .marp
fi
mkdir -p /home/appuser
}
2024-09-30 18:12:26 +02:00
gx_users_prepare() {
# Create user with given ID if needed
if ! grep -q "^[^:]*:[^:]*:$EXT_UID:" /etc/group ; then
groupadd -g "$EXT_GID" appuser
fi
2021-12-21 16:39:51 +01:00
# Create group with given ID if needed
if ! grep -q "^[^:]*:[^:]*:$EXT_UID:" /etc/passwd ; then
useradd -r -u "$EXT_UID" -g appuser appuser
fi
2021-11-30 14:02:48 +01:00
# echo "Setting permissions to $EXT_UID:$EXT_GID"
# chown -R "$EXT_UID:$EXT_GID" _cache
# chown -R "$EXT_UID:$EXT_GID" _build
# chown -R "$EXT_UID:$EXT_GID" .marp
# chown -R "$EXT_UID:$EXT_GID" /home/appuser
# chown -R "$EXT_UID:$EXT_GID" slides
# chown -R "$EXT_UID:$EXT_GID" docs
}
2021-11-30 21:58:34 +01:00
gx_docs_configure() {
2022-01-28 18:41:34 +01:00
# Patch mkdocs configuration
if [ -f mkdocs-patch.yml ]; then
# patch reference mkdocs with user-provided options
yq eval-all '. as $item ireduce ({}; . * $item)' \
mkdocs-source.yml \
mkdocs-patch.yml \
> mkdocs.yml
else
# use reference mkdocs only (no options)
ln -s mkdocs-source.yml mkdocs.yml
2022-01-28 18:41:34 +01:00
fi
}
##
## Main
##
gx_workdir_prepare
gx_users_prepare
if [ "$DOCMACHINE_DOCS_ENABLE" = "1" ]; then
gx_docs_configure
fi
2022-01-28 18:41:34 +01:00
2024-09-23 01:03:10 +02:00
if [ "$1" = "supershell" ]; then
exec bash
else
2024-09-30 18:12:26 +02:00
# exec gosu "$EXT_UID:$EXT_GID" make "$@"
exec make "$@"
fi