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