/movim

Docker container for movim

Primary LanguageShell

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.

Tags

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).

Configuration (overview)

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}

docker-compose.yml

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:

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.

movim.env

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

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).

Feedback

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