Init
This commit is contained in:
commit
fce2368393
15
Dockerfile
Normal file
15
Dockerfile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
FROM nginx:mainline-alpine
|
||||||
|
|
||||||
|
# Install hugo
|
||||||
|
RUN apk add hugo git
|
||||||
|
|
||||||
|
# Copy over auxiliary scripts
|
||||||
|
COPY aux /aux
|
||||||
|
|
||||||
|
# Cron hook for pulling and building
|
||||||
|
RUN echo "10 * * * * /aux/pull-n-build.sh" >> /var/spool/cron/crontabs/root
|
||||||
|
|
||||||
|
# bootstrap script, basically cron && build
|
||||||
|
# after that, the base-image-specific CMD will kick in, which is quite complex
|
||||||
|
ENTRYPOINT /aux/bootstrap.sh
|
||||||
|
|
8
README.md
Normal file
8
README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# blogker
|
||||||
|
|
||||||
|
A nginx-powered container hosting a hugo-built blog regularly pulled off git.
|
||||||
|
|
||||||
|
## Run
|
||||||
|
|
||||||
|
`docker run -e REPO_URL=https://git.maride.cc/maride/sec.maride.cc.git -p 80:80 blogker`
|
||||||
|
|
13
aux/bootstrap.sh
Executable file
13
aux/bootstrap.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# stop on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# start cron daemon (goes into background)
|
||||||
|
crond
|
||||||
|
|
||||||
|
# pull and build freshly
|
||||||
|
/aux/pull-n-build.sh
|
||||||
|
|
||||||
|
# run nginx
|
||||||
|
nginx -g "daemon off;"
|
20
aux/pull-n-build.sh
Executable file
20
aux/pull-n-build.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# stop on error
|
||||||
|
set -e -v
|
||||||
|
|
||||||
|
# check if initial git run
|
||||||
|
if [ ! -d /repo ]; then
|
||||||
|
# yes - repo needs to be cloned
|
||||||
|
git clone --recurse-submodules $REPO_URL /repo
|
||||||
|
else
|
||||||
|
# no - pull existing repo
|
||||||
|
cd /repo && git pull --recurse-submodules
|
||||||
|
fi
|
||||||
|
|
||||||
|
# build and copy over
|
||||||
|
cd /repo && \
|
||||||
|
hugo && \
|
||||||
|
rm -rf /usr/share/nginx/html/* && \
|
||||||
|
cp -R /repo/public/* /usr/share/nginx/html
|
||||||
|
|
Loading…
Reference in New Issue
Block a user