Upgrading a Mayan EDMS Docker container is actually a matter of stopping and deleting the container, downloading the most recent version of the image and starting a container again. The container will take care of updating the database structure to the newest version if necessary.


Do not delete the volume storing the data, only the container. Deleting the volume will delete all the document files.

  1. Stop the container to be upgraded:

docker stop mayan-edms
  1. Remove the container:

docker rm mayan-edms
  1. Pull the new image version:

docker pull mayanedms/mayanedms:latest

or a specific version:

docker pull mayanedms/mayanedms:<version>
  1. Start the container again with the new image version:

    docker run \
    -d \
    --name mayan-edms \
    --restart=always \
    -p 80:8000 \
    -e MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':''}}" \
    -e MAYAN_CELERY_BROKER_URL="redis://:mayanredispassword@" \
    -e MAYAN_CELERY_RESULT_BACKEND="redis://:mayanredispassword@" \
    -v /docker-volumes/mayan-edms/media:/var/lib/mayan \


    Ensure any customized environment variables used when launching the old version of the container match the variables used to launch the new version (e.g database password). If Mayan loads but login fails post upgrade, this could be a cause.