# How to fork tutor olive learning mfe editing

**URL:** <https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394>\
**Category:** Tutor Help\
**Tags:** how-to, tutor, tutor-mfe\
**Created:** [October 11, 2023, 6:55pm UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394 "2023-10-11T18:55:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![rahul.bhaskar](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@rahul.bhaskar](https://discuss.openedx.org/u/rahul.bhaskar)\
**Post date:** [October 11, 2023, 6:55pm UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394/1 "2023-10-11T18:55:27Z")

</div>

How can fork the repo and add the changes like copy protection to course contents in mfe part and add the changes to repo and rebuild openedx tutor and mfe with my changes

---

<div class="post-metadata">

**Author:** ![Bebop](https://avatars.discourse-cdn.com/v4/letter/b/f07891/32.png) [@Bebop](https://discuss.openedx.org/u/Bebop)\
**Post date:** [October 16, 2023, 6:04pm UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394/2 "2023-10-16T18:04:25Z")

</div>

To change the frontend-app-learning MFE, I:

1. Fork the frontend-app-learning repo and make my changes
2. Create a Tutor plugin that swaps the built-in learning MFE for my custom repo

The plugin looks something like this:

```auto
from tutormfe.hooks import MFE_APPS

@MFE_APPS.add()
def _add_my_mfe(mfes):
    mfes["learning"] = {
        "repository": "https://github.com/YOUR-REPO",
        "refs": "https://api.github.com/repos/YOUR-REPO/REFS",
        "version": "master",
        "port": 2001,
    }

```

1. Install and enable your plugin
2. Rebuild your MFE image by running something like:

```auto
tutor config save --set MFE_DOCKER_IMAGE=your-image-details:0.1
tutor images build mfe
tutor images push mfe

```

This should rebuild the MFE docker image to pull from your GitHub repo. You can then restart your Tutor services (wherever you’re running them) to use the new MFE image, and things should work.

---

<div class="post-metadata">

**Author:** ![rahul.bhaskar](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@rahul.bhaskar](https://discuss.openedx.org/u/rahul.bhaskar)\
**Post date:** [October 16, 2023, 7:11pm UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394/3 "2023-10-16T19:11:38Z")

</div>

In your image details what I can pass Do I need to give new docker image name

---

<div class="post-metadata">

**Author:** ![Bebop](https://avatars.discourse-cdn.com/v4/letter/b/f07891/32.png) [@Bebop](https://discuss.openedx.org/u/Bebop)\
**Post date:** [October 16, 2023, 9:07pm UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394/4 "2023-10-16T21:07:46Z")

</div>

Yes, all you need to pass there is the Docker image name. For example, if you are using docker hub and your repo name is “rahul”, you might run:

```auto
tutor config save --set MFE_DOCKER_IMAGE=rahul/mfe:0.1
```

---

<div class="post-metadata">

**Author:** ![rahul.bhaskar](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@rahul.bhaskar](https://discuss.openedx.org/u/rahul.bhaskar)\
**Post date:** [October 17, 2023, 7:02am UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394/5 "2023-10-17T07:02:36Z")

</div>

> [@Bebop](#):
>
> `tutor images push mfe`

So You are saying I need a docker hub account and create a repo on that and do this changes

---

<div class="post-metadata">

**Author:** ![Bebop](https://avatars.discourse-cdn.com/v4/letter/b/f07891/32.png) [@Bebop](https://discuss.openedx.org/u/Bebop)\
**Post date:** [October 17, 2023, 1:34pm UTC](https://discuss.openedx.org/t/how-to-fork-tutor-olive-learning-mfe-editing/11394/6 "2023-10-17T13:34:27Z")

</div>

I’m sorry. I, probably incorrectly, assumed you were deploying to K8s. If you’re not deploying to the cloud or somewhere generally where you’ll need your Docker image stored in a registry, you might not necessarily need to push the image to a Docker hub-like registry. However, you will need to build your custom MFE image and serve it somehow, regardless of how you ultimately deploy.
