From 53857edf1864d82f645a4df1141d710b59ed2dc2 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 23 Oct 2020 23:00:18 +0200 Subject: [PATCH] initial commit --- .gitignore | 2 ++ Dockerfile | 26 ++++++++++++++++++++++++++ docker-compose.yml | 13 +++++++++++++ jekyll.sh | 11 +++++++++++ 4 files changed, 52 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 jekyll.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d38c149 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.swp +*~ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a989578 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +# Dockerfile to build and serve a jekyll site with the development webserver +FROM ubuntu:focal +LABEL Description="This image is used to learn building dockerfiles" \ + Author="david@socialnerds.org" \ + Version="0.1" \ + License="MIT" + +# environment variables +ENV JEKYLL_SITE=default + +# copy stuff into the image +COPY jekyll.sh jekyll.sh +RUN chmod +x jekyll.sh + +# expose port for `jekyll serve` +EXPOSE 4000 + +# volume definitions +VOLUME ["/mnt"] + +# prepare the baseimage +RUN apt-get update && apt-get install -y ruby ruby-dev gcc g++ make libssl-dev libreadline-dev && \ + gem update && gem install jekyll bundler + +# run command +CMD ./jekyll.sh \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5f0237d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +version: "3.0" + +services: + jekyll: + image: jekyll-dev:latest + build: . + container_name: jekyll-dev + volumes: + - /home/david/Projects/just-the-docs:/mnt + ports: + - 127.0.0.1:4000:4000 + environment: + - JEKYLL_SITE=docs \ No newline at end of file diff --git a/jekyll.sh b/jekyll.sh new file mode 100644 index 0000000..54086ff --- /dev/null +++ b/jekyll.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# create new or serve existing jekyll page (/mnt/$JEKYLL_SITE) + +cd /mnt +if [ ! -d "/mnt/$JEKYLL_SITE" ]; then + jekyll new $JEKYLL_SITE +fi +cd $JEKYLL_SITE +bundle install +bundle exec jekyll serve --host=0.0.0.0 --incremental \ No newline at end of file