From 0169da63b3da26b3d32fa479fb220e96ebe7963d Mon Sep 17 00:00:00 2001 From: USERNAME Date: Sun, 21 Jan 2024 20:43:07 +0000 Subject: [PATCH] Add gollum --- gollum | 1 + gollum-cron/Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++ gollum-cron/entrypoint.sh | 3 +++ 3 files changed, 45 insertions(+) create mode 160000 gollum create mode 100755 gollum-cron/Dockerfile create mode 100644 gollum-cron/entrypoint.sh diff --git a/gollum b/gollum new file mode 160000 index 0000000..2d9747d --- /dev/null +++ b/gollum @@ -0,0 +1 @@ +Subproject commit 2d9747dd7396b783ee72c7d0aeb74c8633ff8513 diff --git a/gollum-cron/Dockerfile b/gollum-cron/Dockerfile new file mode 100755 index 0000000..cc4f101 --- /dev/null +++ b/gollum-cron/Dockerfile @@ -0,0 +1,41 @@ +#!/usr/bin/env -S docker build . --tag=jcosmao/cron-git --network=host --file + +# docker push jcosmao/cron-git + +FROM alpine:latest + +ARG UNAME=user +ARG UID=1000 +ARG GID=1000 + +USER root + +RUN addgroup --system --gid ${GID} ${UNAME} +RUN adduser --system --disabled-password --home /home/${UNAME} \ + --uid ${UID} --ingroup ${UNAME} ${UNAME} + +RUN apk update \ + && apk upgrade \ + && apk --no-cache add dcron libcap + +RUN apk fix && \ + apk --no-cache --update add git git-lfs gpg less openssh patch mandoc man-pages bash && \ + git lfs install + +RUN chown $UID:$GID /usr/sbin/crond \ + && setcap cap_setgid=ep /usr/sbin/crond + +COPY --chown=$UID:$GID entrypoint.sh /home/$UNAME/entrypoint.sh +RUN chmod +x /home/$UNAME/entrypoint.sh + +USER $UNAME +RUN mkdir /home/$UNAME/crontabs && touch /home/$UNAME/crontabs/$UNAME +WORKDIR /home/$UNAME + +# install a cronjob: +# echo SHELL=/bin/sh > ~/crontabs/user +# echo '* * * * * my_cron' >> ~/crontabs/user + +# crond fail to setgid if run as PID 1 +ENTRYPOINT ["./entrypoint.sh"] + diff --git a/gollum-cron/entrypoint.sh b/gollum-cron/entrypoint.sh new file mode 100644 index 0000000..0040c18 --- /dev/null +++ b/gollum-cron/entrypoint.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +crond -c $HOME/crontabs -f -l 8 -L /dev/stdout