diff options
Diffstat (limited to 'build/init')
-rw-r--r-- | build/init/Dockerfile | 22 | ||||
-rwxr-xr-x | build/init/init | 4 | ||||
-rwxr-xr-x | build/init/stamp.sh | 14 |
3 files changed, 40 insertions, 0 deletions
diff --git a/build/init/Dockerfile b/build/init/Dockerfile new file mode 100644 index 0000000..cd2af92 --- /dev/null +++ b/build/init/Dockerfile @@ -0,0 +1,22 @@ +FROM alpine:latest + +# install packages +RUN apk add --no-cache tini shadow coreutils findutils +RUN rm -fr /var/cache/apk/* + +# setup main user +RUN adduser -D init +RUN groupmod --gid 1000 init +RUN usermod --uid 1000 init + +# copy scripts +COPY ./init /usr/local/bin/init +COPY ./stamp.sh /usr/local/bin/stamp.sh + +# remove build packages +RUN apk del shadow + +# do the +USER init +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["/usr/local/bin/init"] diff --git a/build/init/init b/build/init/init new file mode 100755 index 0000000..a4de21f --- /dev/null +++ b/build/init/init @@ -0,0 +1,4 @@ +#!/bin/sh + +# stamp assets +/usr/local/bin/stamp.sh diff --git a/build/init/stamp.sh b/build/init/stamp.sh new file mode 100755 index 0000000..6f71038 --- /dev/null +++ b/build/init/stamp.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +out="/var/run/crimson/stamp.php" +public="/opt/site/public" +files=$(find "$public" -type f -printf %P\\n) + +printf "<?php\n\$__stamps = array();\n" > "$out" +for file in $files; do + stamp=$(date +%s -r "$public/$file") + echo "\$__stamps['public/$file'] = $stamp;" >> "$out"; +done +echo "define('FILE_TIMES', \$__stamps);" >> "$out" +echo "unset(\$__stamps);" >> "$out" + |