movim / movim_docker

Official Docker Compose stack for Movim, maintained by @kawaii and the @movim team
https://movim.eu/
GNU Affero General Public License v3.0
79 stars 29 forks source link
docker docker-compose movim php xmpp

Quick reference

What is Movim?

Movim is a distributed social network built on top of XMPP, a popular open standards communication protocol. Movim is a free and open source software licensed under the AGPL. It can be accessed using existing XMPP clients and Jabber accounts. Learn more at movim.eu.

wikipedia.org/wiki/Movim

logo

How to use this image

... via docker stack deploy or docker-compose

Example stack.yml for movim:

services:
  movim:
    environment:
      DAEMON_URL: http://localhost
      DAEMON_PORT: 8080
      DAEMON_INTERFACE: 0.0.0.0
      DB_DRIVER: pgsql
      DB_HOST: postgresql
      DB_PORT: 5432
      DB_DATABASE: movim
      DB_USERNAME: movim
      DB_PASSWORD: changeme
    image: movim/movim:0.21.1
    volumes:
    - ${PWD}/movim:/var/www/html:rw

  nginx:
    image: nginx:mainline-alpine
    ports:
    - published: 80
      target: 80
    volumes:
    - ${PWD}/movim:/var/www/html:ro
    - ${PWD}/nginx:/etc/nginx/conf.d:ro

  postgresql:
    environment:
      POSTGRES_DB: movim
      POSTGRES_PASSWORD: changeme
      POSTGRES_USER: movim
    image: postgres:15-alpine
    volumes:
    - ${PWD}/postgres/data:/var/lib/postgresql/data:rw
version: '3.8'

Please note, you'll need to create the nginx/default.conf file yourself, to be mounted into the nginx container. You can find a good example configuration here.

Environment variables as Docker secrets

Environment variables related to movim may also be created using Docker secrets. The corresponding environment variables need a __FILE suffix, e.g.:

secrets:
  db_password:
    file: /path/to/db_password

services:
  movim:
    environment:
      DAEMON_URL: http://localhost
      DAEMON_PORT: 8080
      DAEMON_INTERFACE: 127.0.0.1
      DB_DRIVER: pgsql
      DB_HOST: postgresql
      DB_PORT: 5432
      DB_DATABASE: movim
      DB_USERNAME: movim
      DB_PASSWORD__FILE: /run/secrets/db_password
      ...

Creating an Admin User

After you've sucessfully logged in to your Movim Pod, run the following Docker Compose exec command;

docker-compose exec movim php daemon.php setAdmin example@movim.eu