Cyber School Courseware Docker Container
Container contents
This container is based on the asciidoctor container on dockerhub: asciidoctor/docker-asciidoctor
. As such, it is alpine-based.
The Dockerfile adds the following:
- Python3, pip, and necessary dependencies for the python-based course builder
- npm
- decktape for CLI-based screenshots of revealjs websites
- chromium for decktape (independently installed prior to decktape)
- antora for asciidoctor-based static website generation
- hugo extended for static website generation (/opt/appbin/hugo)
The docker runs as the user appuser
and the home directory /opt/course_builder
Accessing the container
This container is available at:
registry.cybbh.space/courseware-as-code/courseware-builder/container:latest
Every commit to master will automatically rebuild the container and push it to the registry.
How to manually update a docker container within the GitLab registry:
- Create a container registery token for your repository and use that to login with:
docker login registry.cybbh.space
- Build and push your docker container to the registery:
docker build -t registry.cybbh.space/courseware-as-code/courseware-builder/container .
docker push registry.cybbh.space/courseware-as-code/courseware-builder/container
Runner configuration
Note, per the documenation, this repository needs a CI runner that can run shell commands in the docker group:
export REGISTRATION_TOKEN='TOKEN_HERE'
sudo gitlab-runner register -n \
--url https://git.cybbh.space/ \
--registration-token "${REGISTRATION_TOKEN}" \
--executor shell \
--tag-list shell \
--description "Docker Group Runner"