Hello Mike,
It is quite easy if your images are pre-defined. If you know the image files you will be using, then one approach is the following one:
- Create a custom kurento-media-server docker image, inheriting from the one used by default in the OpenVidu version you are using. For example, for OpenVidu 2.20.0, kurento-media-server:6.16.0 is used (Releases - OpenVidu Docs)
- That custom image should copy the image files you need in a known path. For example /work/images.
- Configure your OpenVidu Master Node to use your custom image, once uploaded to DockerHub. You do so like this: On premises - OpenVidu Docs. For example:
KMS_IMAGE=your-dockerhub-account/kurento-media-server:6.16.0-custom
This system is very easy to mantain. But it has a counterpart: your Media Nodes will take a little bit longer to launch, as the new image must be downloaded before booting up.
If you want to use autoscaling or need a very quick launch in your Media Nodes for any reason, then you will have to re-generate the Media Node AMI. You ssh into a running Media Node in your AWS dashboard, download the needed images in the desired path, and generate a new AMI. Then configure your new AMI in /opt/openvidu/.env
Master Node’s configuration file with property AWS_IMAGE_ID