Hello everyone,
I need your recommendation and suggestion on what to do after customizing openedx/edx-platform
tutor, version 13.1.1
open-release/maple.1
First Way, I did copy the contents of a container using bindmount
tutor dev bindmount lms /openedx/edx-platform
tutor dev runserver --volume=/openedx/edx-platform lms
should I now after customizing edx-platform push the volumes/edx-platform which has been created after using bindmount command to new GitHub repo,so I can use it by to build custom image ?
tutor images build \
-a EDX_PLATFORM_REPOSITORY=https://github.com/username/edx-platform.git \
-a EDX_PLATFORM_VERSION=my_branch \
openedx
Second Way, instead of copying the content using bindmount,I did fork the open-edx reop then I created my own branch based on open-release/maple.1 tag using the command :
tutor config printvalue OPENEDX_COMMON_VERSION
then i did follow the instruction on how to set it up after forking :
# Run bash in the lms container
tutor dev run [--volume=...] lms bash
# Compile local python requirements
pip install --requirement requirements/edx/development.txt
# Install nodejs packages in node_modules/
npm install
# Rebuild static assets
openedx-assets build --env=dev
Using this way i can bindmount to my custom repo and do customizing then push my code to GitHub branch then rebuild the image again using my custom repo
tutor images build \
-a EDX_PLATFORM_REPOSITORY=https://github.com/username/edx-platform.git \
-a EDX_PLATFORM_VERSION=my_branch \
openedx
however, I faced some problems when i used this way when i wanted to work on dev i had to build the dev image “openedx-dev” with the command
tutor dev dc build lms
this image did miss a styling , so i though this is might be because i used a forked repo !
Third Way, running a different openedx Docker image
tutor config save --set DOCKER_IMAGE_OPENEDX=docker.io/myusername/openedx:mytag
tutor images build openedx
tutor images push openedx
I did not try this method yet as i am confused should I create my own openedx image like hack to to an exit container then create an image out of that container then push the image to docker hub by
By re-tagging an existing local image
docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
OR * By using
docker commit <existing-container> <hub-user>/<repo-name>[:<tag>]
to commit changes
then i push to my docker hub
docker push <hub-user>/<repo-name>:<tag>
so i can now use
tutor config save --set DOCKER_IMAGE_OPENEDX=docker.io/<hub-user>/<repo-name:<tag>
tutor images build openedx
Most importantly why and when should i use
tutor images push openedx
sorry for this long question, but I wanted to share my whole experiment and everything I did try so far.
NOTE:
I got 101 docker course and i am new to Tutor and OpenEdx
thank you