UNCLASSIFIED

Skip to content
Snippets Groups Projects
Benjamin Allison's avatar
5455a8ec
Name Last commit Last update
.gitlab-ci.yml
Dockerfile
LICENSE
README.md
tests.sh

Cyber School Courseware Docker Container

Container Registry

pipeline status

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:

  1. Create a container registery token for your repository and use that to login with:
docker login registry.cybbh.space
  1. 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"