https://github.com/jhudsl/ottr-docker
Manages dockerfiles and related images available for use with OTTR
https://github.com/jhudsl/ottr-docker
edtech-software
Last synced: over 1 year ago
JSON representation
Manages dockerfiles and related images available for use with OTTR
- Host: GitHub
- URL: https://github.com/jhudsl/ottr-docker
- Owner: jhudsl
- License: cc0-1.0
- Created: 2022-05-10T12:50:35.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-30T19:49:58.000Z (over 1 year ago)
- Last Synced: 2025-02-23T17:15:05.535Z (over 1 year ago)
- Topics: edtech-software
- Language: Dockerfile
- Homepage:
- Size: 370 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# OTTR Docker library
This repository stores the Dockerfiles and associated files for images that can be used by OTTR for rendering (or other items underneath the hood).
## How to use
In your OTTR repositories, you can specify a different docker image for rendering in the `config_automation.yml` file. For the purposes of rendering different courses, if you have code that needs to be run, you may require a custom Docker image so that you have the packages being called in the code.
Read more about docker customization on [ottrproject.org](https://www.ottrproject.org/customize-docker.html).
## To rebuild an image:
Go to Actions > Manual build of docker image > Run workflow
For directory, put the directory/docker image name that you'd like to rebuild. e.g. "base_ottr"
For tag, put the full name of the docker image as it is called on dockerhub. e.g. "jhudsl/base_ottr:main"
For "Push to Dockerhub" either put "true" if you'd like to push to dockerhub or "false" if you just want to test the build but not push it.
Example of a docker image manual rebuild settings:

## Adding a new image
1. Make a new directory
2. Put your Dockerfile in this directory. Make sure it is named "Dockerfile" exactly.
3. Open up `pull_request.yml` and find where there is a comment like this:
```
# NEW IMAGES HERE: #
####### - {dir: directory_path, name: 'name its called on dockerhub'}
```
4. Follow the same format as the other images in this repository and add a line to this list underneath `matrix:`
```
- {dir: directory_path, name: 'name its called on dockerhub'}
```
For example it should look something like:
```
- {dir: base_ottr, name: 'jhudsl/base_ottr'}
```
Where `base_ottr` is the path to the directory where the Dockerfile is stored inside the folder named `base_ottr` and `jhudsl/base_ottr` is what it is called on Dockerhub.
5. Develop your Dockerfile as your normally would but with each push to your open pull request `pull_request.yml` will attempt to rebuild it to test it.
6. When it successfully builds and it has what you want then you can have it reviewed and merged.
7. Upon merging `merge.yml` will rebuild the image one more time and then push to Dockerhub (if it has proper credentials to do so). Dockerhub username and Dockerhub token stored in this repository as GitHub secrets needs to have push access to the image on Dockerhub.
For more information on any of this ask @cansavvy.