This repository has been archived on 2023-12-23. You can view files and clone it, but cannot push or open issues or pull requests.
2020-10-23 23:00:18 +02:00
|
|
|
# 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
|
2020-10-28 19:18:30 +01:00
|
|
|
ENV USER_ID=1000
|
|
|
|
ENV GROUP_ID=1000
|
2020-10-23 23:00:18 +02:00
|
|
|
|
|
|
|
# expose port for `jekyll serve`
|
|
|
|
EXPOSE 4000
|
|
|
|
|
|
|
|
# volume definitions
|
|
|
|
VOLUME ["/mnt"]
|
|
|
|
|
2020-10-28 19:18:30 +01:00
|
|
|
# prepare the baseimage and create
|
2020-10-23 23:00:18 +02:00
|
|
|
RUN apt-get update && apt-get install -y ruby ruby-dev gcc g++ make libssl-dev libreadline-dev && \
|
2020-10-28 19:18:30 +01:00
|
|
|
gem update && gem install jekyll bundler && \
|
|
|
|
groupadd -g $GROUP_ID jekyll-dev && \
|
|
|
|
useradd -u $USER_ID -g $GROUP_ID -M -d /mnt -s /bin/false jekyll-dev
|
|
|
|
|
|
|
|
USER jekyll-dev
|
|
|
|
|
|
|
|
RUN cd /mnt && \
|
|
|
|
if [ ! -d "/mnt/$JEKYLL_SITE" ]; then jekyll new $JEKYLL_SITE; fi && \
|
|
|
|
cd $JEKYLL_SITE && bundle install
|
2020-10-23 23:00:18 +02:00
|
|
|
|
|
|
|
# run command
|
2020-10-28 19:18:30 +01:00
|
|
|
CMD bundle exec jekyll serve --host=0.0.0.0 --incremental
|