The generic base image to be used for language specific open education resources
546
This repository is responsible for building the base docker image that is used as a base for all the sci-oer language specific resources. This will install and configure the wiki, jupyter lab, and setup all the tools that are not specific to one language.
This Docker image is not meant to be used directly, rather it is meant to be used as a base image for a language specific resource. To create a language specific docker image create a docker file similar to the following to install the language specific dependencies:
FROM marshallach/base-resource:latest
RUN apt-get install java
RUN breakerx install java
docker build \
--build-arg GIT_COMMIT=$(git rev-parse -q --verify HEAD) \
--build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
-t scioer/base-resource:latest .
docker run --rm -it \
-p 3000:3000 \
-p 8888:8888 \
-p 2222:22 \
-p 8000:8000 \
-v "$(pwd)/course:/course" \
scioer/base-resource:latest
This container is designed to be run in the foreground. It will run a wiki.js server and a jupyter notebooks server in the background and provide the user with a bash shell
To configure git within the container this can be done manually by running the git config commands or by using the environment variables
GIT_EMAIL='[email protected]', GIT_NAME="My StudentName"
These environment variables can be configured when you run the docker container
docker run -it --rm \
-p 3000:3000 \
-p 8888:8888 \
-p 2222:22 \
-p 8000:8000 \
-e GIT_EMAIL='[email protected]' \
-e GIT_NAME="My StudentName" \
scioer/base-resource:latest
The wiki can be found at http://localhost:3000
Username: [email protected] Password: password
The jupyter notebooks site can be found at http://localhost:8888
When you go to the jupyter notebooks page all of the builtin notebooks can be found in the builtin folder.
All of the notebooks that are in the builtin folder are provided by the container, they can be modified and the modifications will be persistent as long as the same volume mount is used.
If the volume is replaced then all the builtin notebooks will be replaced with fresh copies.
All of the notebooks that are created will be saved in the course/jupyter/notebooks directory.
Any user settings that are changed (such as dark mode) will also be persistent.
The javadocs for Java 11 have been built into this image and can be accessed at http://localhost:8000.
This container runs an ssh daemon and exposes port 22.
You can ssh into this container by running ssh -p 2222 [email protected].
You do not need a password to ssh into the container, but the password is password for any command that needs it.
Any files that are edited should be put in the /course/work directory to be saved to the volume mount.
Although you are able to ssh into this container, it is preferred to attach additional terminals to the container directly.
$ docker exec -it container_name bash
The name of the container can be gotten by running docker ps or it can be specified when the container is created by passing the --name my_name flag to docker run.
Any built in content to be included in the wiki must be added manually. Unfortunately there is not currently an easy mechanism to automatically load markdown files from a directory into the wiki.
To Load custom content into the container the following process is suggested:
docker run -it --rm -v "$(pwd)/course:/course" scioer/base-resource:latestdatabase.sqlite file with the new one from course/wiki/database.sqliteAlternatively if there is a large number of wiki pages to import that already exist as markdown files an alternative process can be used.
course/wiki/files---
title: Untitled Page
description:
isPublished: 1
tags: coma, separated, list
---
docker run -it --rm -v "$(pwd)/course:/course" scioer/base-resource:latest/course/wiki/filesImport Everything, now all of the wiki pages should be importeddatabase.sqlite file with the new one from course/wiki/database.sqliteAdding built in jupyter notebooks to the container is simpler.
Place all the desired files in the builtinNotebooks folder, then build the image.
To change the startup message that gets printed when the container starts edit the text in motd.txt to include the desired text
This image is designed to be used as a base image to be loaded with custom content for specific course deliveries.
The following list provides examples of customized version of the image:
This project is licensed under the GPLv3 license. This is a strong copy left license that requires that any derivative work is released under the same license. This was selected because the objective of this project is to provide a tool that can be used by others because it is something that is useful to us. We believe that carrying that forward will be beneficial to the community.
Preset initialization API Key (valid until Jan 23, 2025):
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGkiOjEsImdycCI6MSwiaWF0IjoxNjQyOTcyMTk5LCJleHAiOjE3Mzc2NDQ5OTksImF1ZCI6InVybjp3aWtpLmpzIiwiaXNzIjoidXJuOndpa2kuanMifQ.xkvgFfpYw2OgB0Z306YzVjOmuYzrKgt_fZLXetA0ThoAgHNH1imou2YCh-JBXSBCILbuYvfWMSwOhf5jAMKT7O1QJNMhs5W0Ls7Cj5tdlOgg-ufMZaLH8X2UQzkD-1o3Dhpv_7hs9G8xt7qlqCz_-DwroOGUGPaGW6wrtUfylUyYh86V9eJveRJqzZXiGFY3n6Z3DuzIVZtz-DoCHMaDceSG024BFOD-oexMCnAxTpk5OalEhwucaYHS2sNCLpmwiEGHSswpiaMq9-JQasVJtQ_fZ9yU_ZZLBlc0AJs1mOENDTI6OBZ3IS709byqxEwSPnWaF_Tk7fcGnCYk-3gixA
These are some of the tasks that can still be done to make it better
Content type
Image
Digest
sha256:fb3707680…
Size
1.3 GB
Last updated
over 3 years ago
docker pull scioer/base-resource