Package: scioer-builder
Automated SCI-OER Image BuilderThis is an automated build tool to generate customized versions of the language specific versions of thebase-resourcesimages.Typically, a customized docker image can be created by extending aDockerfilewith the new modifications and setup script and your good to go.
However, some of the tools that are prepackaged in this container can not be customized and configured without the services running (wiki-js).
This service aims to solve this problem by running a version of the base image, customizing it, extracting the configuration files, then repackaging them into a new Docker image.RequirementsIn order to run this project you must have the following installed and running on your machine:dockergitpython3The build script will start a docker container in the background, so it can be customized then build a new docker image.
The user that is running the build script must have permissions to run docker commands.Git must be installed in-order to load and configure the seeded content.Building this Docker ImageThis image has been published toDocker Hub, but the follow command can be used to build the image locally.dockerbuild\--build-argGIT_COMMIT=$(gitrev-parse-q--verifyHEAD)\--build-argBUILD_DATE=$(date-u+"%Y-%m-%dT%H:%M:%SZ")\-tscioer/automated-builder:latest.Creating a Custom ImageThis script will create a sci-oer image that is customized with the following:a set of pre-made lecture contentone or more example project repositories.wiki content to be loaded from a git repositorya set of Jupyter lab notebooksa customized wiki titleThere are a number of configuration options that can be specified when building the customized container.
Runscioer-builder --helpto see a complete list of configuration options and how they can be used.All the options are optional, if one is left out then no content will be configured.There are currently three methods that can be used to create a customized image.Using the publishedscioer-builderpackage (preferred)Using a prebuilt docker imageCalling thescioer_builder/cli.pyscript directlyUsing DockerFor convenience a prebuiltDocker imagehas been published that includes all the dependencies needed to generate a custom image.For theautomated-buildercontainer to be able to create the custom docker image it must have the docker socket passed into the container.$dockerrun-v/var/run/docker.sock:/var/run/docker.sock\scioer/automated-builder:latest<optionshere>NOTE: If you are using the--key-fileoption when running with docker, the path that is specified must be the path in the container, not on the host machineUsing the pip packageThe auto builder script has been distributed topypifor easy use.
It can be installed by running:pipinstallscioer-builderThen run as a normal command:scioer-builder--helpGetting HelpIf you need help getting the builder script to work or have questions or find any issues you can open aGitHub Issue.Getting InvolvedIf you notice something that doesn't quite work or if you want to add new features or support the implementation any contributions are welcome.Currently, we are focusing on completing this script so that all of the aspects of the sci-oer container can be customized using the cli, or possibly a configuration file. The next steps will be to develop a web interface so that the customized version can be created without needing to install all the tools.See theCONTRIBUTING.mdguide for more information.LicenseThis project has been published under theAGPL-3.0 License.
This essentially means that you can use this for whatever you want as long as any modifications you make are published under the same license.