summaryrefslogtreecommitdiff
path: root/build/init
diff options
context:
space:
mode:
Diffstat (limited to 'build/init')
-rw-r--r--build/init/Dockerfile22
-rwxr-xr-xbuild/init/init4
-rwxr-xr-xbuild/init/stamp.sh14
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"
+