There is a basic Docker Compose configuration example to use MediaDC application.
You need to adjust your Nextcloud app container like in /mediadc/Dockerfile to install required dependecies and re-build your container like in docker-compose.yml.
If you don't want to use Dockerfile, you can install the required packages for the MediaDC app with hands, but to save changes they are needed to be committed into the separate Docker image.
If you are using Docker GUI management (e.g. Portainer) - you can easily connect to the terminal via it (find container and the console button), otherwise, you can do it from your host server terminal:
docker ps
- list active containers to find one with Nextcloud app and copy CONTAINER_ID.docker exec -it [CONTAINER_ID] [shell command]
- connect to the container's terminal.[shell command]
- path to shell executable, for Alpine it issh
(/bin/sh
), for other distros usuallybash
(/bin/bash
).
Now, when you are logged in, you can install required packages to the container like in /mediadc/Dockerfile.
apk add --no-cache ffmpeg imagemagick supervisor py3-numpy py3-pillow py3-asn1crypto
apk add --no-cache py3-cffi py3-scipy py3-pynacl py3-cryptography py3-pip
python3 -m pip install -U pip
Install pillow_heif
python3 -m pip install pillow_heif
python3 -m pip install pywavelets
After that check installation on the MediaDC Configuration page and it should be done.
To save this changes you need to commit them to the separete Docker image. By default, the container being committed and its processes will be paused while the image is committed. This reduces the likelihood of encountering data corruption during the process of creating the commit.
If this behavior is undesired, set the --pause
option to false.
Read more on official docs.
-
docker commit [CONTAINER_ID] [new_image_name]
-
docker image ls
- to check Docker[new_image_name]
image created. -
Use
[new_image_name]
instead of the previous default Nextcloud Docker image. This is one of the disadvantages of this way of installation.