Unofficial Docker container for Movim
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sando38 adf3d130ad Build v0.21.1-r1 3 weeks ago
.github/workflows Actions: add ctr registry cleanup action 4 weeks ago
appdata/nginx Adjust nginx default.conf example to docker-compose.yml 7 months ago
image Make all movim-related ENV variables be defined as Docker secrets 3 weeks ago
secrets Implement docker secrets for DB_PASSWORD variable 7 months ago Make all movim-related ENV variables be defined as Docker secrets 3 weeks ago
docker-compose.yml Make all movim-related ENV variables be defined as Docker secrets 3 weeks ago
movim.env Remove unused legacy part 5 months ago
pkgrel Build v0.21.1-r1 3 weeks ago

Movim docker image

This repository provides an inofficial movim docker container. There is also an official docker image available.

Differences to the official image are:

  • built for x86-64 and arm64
  • runs as non-root user
  • does not require any Linux capabilities
  • build with php8
  • additionally includes mysql/mariadb database driver

Images are scanned daily by trivy and if necessary, the latest tag will be rebuilt and published.


The image name is Images are available from tag v0.21rc3 onwards. The first image build has a -r0 suffix.

Tags Description Additional notes
v0.21.1, latest Release changelog

All images are based upon the official php-fpm docker images with latest OS (e.g. Debian bullseye).

Configuration (overview)

The easiest way is to clone the repo:

git clone

Afterwards, those two files need to be adjusted:

  • docker-compose.yml
  • movim.env

If both have been adjusted, start the stack with:

docker compose up -d

Movim starts w/o any admins. An admin could be defined with:

docker exec movim php daemon.php setAdmin {jid}


There are some aspects to double check:

  • Image build vs. pre-build image
  • postgresql configuration
  • nginx configuration

You need to decide wether to build the image yourself or to use the pre-build image (default). Either way, one of the parts must be commented:

    ### general settings
    #  context: image/.
    #  dockerfile: Dockerfile.debian

Additionally, movim relies on a database server. It works with postgresql (recommended) or mysql/mariadb. If you run a database server already, you should comment the postgresql part of the docker-compose.yml file. If not, at least the POSTGRES_PASSWORD should be changed to something save. This password must be the same as provided to movim with the variable DB_PASSWORD, e.g. within the movim.env file.

    hostname: postgresql
    container_name: postgresql
    image: postgres:15-alpine

Lastly, check the provided nginx configuration. Either you use an already existing webserver or this configuration. This repo also provides some configuration examples for nginx (w/ and w/o TLS). If TLS certificates are mounted into the container, the nginx user (101:101) should be able to read them.


This file contains the environment variables, which are read by movim during startup. Here is the link to the official installation document from the movim repository:

Docker secrets

Secrets may be used for all environment variables relevant for the movim container. They need to be included with a __FILE suffix (see docker-compose.yml example).


Feel free to provide feedback. If there is an issue or anything, please use the issue tracker.