From dee88bbd1a285ccff920027e11147fb357841ca5 Mon Sep 17 00:00:00 2001 From: Cameron Fleming Date: Sat, 27 Jun 2020 18:03:24 +0100 Subject: Create docker files Allow's cState to run under Docker. --- Dockerfile | 19 +++++++++++++++++++ docker/entrypoint.sh | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Dockerfile create mode 100644 docker/entrypoint.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..721b64a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM nginx:alpine + +# /cstate will be our volume & building directory +WORKDIR /cstate + +# Install hugo & git +RUN apk add hugo git + +# -- First Run -- + +# Download the example site +RUN git clone https://github.com/cstate/example /cstate + +# Copy files from this repo into themes/cstate +RUN mkdir -p /cstate/themes/cstate +COPY . /cstate/themes/cstate + +# Prepare the entrypoint files +COPY ./docker/entrypoint.sh /docker-entrypoint.d/10-build-hugo.sh \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100644 index 0000000..f8068c1 --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,21 @@ +WORK_DIR="/app" +SRC_DIR="/cstate" + +# Check if the working dir is empty, if it is we'll need to copy +# the files in from src directory (usually /cstate) +if ! [ "$(ls -A $WORK_DIR)" ]; then + # First run, copy cstate's files in. + echo "First time run! Hello, World :)" + cp -R $SRC_DIR/* $WORK_DIR +fi + +# Continue with building + +# CD into working dir +cd /app + +# Build the hugo site +hugo + +# Copy built files into NGINX directory +cp -r /app/public/* /usr/share/nginx/html \ No newline at end of file -- cgit v1.2.3-70-g09d2