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
andarm64
- 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 ghcr.io/sando38/movim
. 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
).
The easiest way is to clone the repo:
git clone https://github.com/sando38/movim
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
configurationnginx
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:
services:
movim:
### general settings
image: ghcr.io/sando38/movim:latest
#build:
# 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.
...
postgresql:
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:
https://github.com/movim/movim/blob/master/INSTALL.md#2-dotenv-configuration
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.