All Projects → silvio → Docker Matrix

silvio / Docker Matrix

Licence: gpl-2.0
docker image for matrix.org

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Docker Matrix

Element Web
element.io docker image generator
Stars: ✭ 21 (-84.33%)
Mutual labels:  matrix, docker-image
Laravel Docker K8s
Running Laravel project using Docker and Deploying using Kubernetes
Stars: ✭ 127 (-5.22%)
Mutual labels:  docker-image
Blazorcrud
Demo application built with the Blazor client-side hosting model (WebAssembly) and .NET Core REST APIs secured by a JWT service.
Stars: ✭ 121 (-9.7%)
Mutual labels:  docker-image
Java Ds Algorithms
Data Structures and Algorithms in Java
Stars: ✭ 125 (-6.72%)
Mutual labels:  matrix
Machinelearning
An easy neural network for Java!
Stars: ✭ 122 (-8.96%)
Mutual labels:  matrix
4minitz
4Minitz - Simply a decent free webapp for taking collaborative meeting minutes. (Keywords: Meeting Protocols, Action Items, Open Source). Check it out on our demo server:
Stars: ✭ 125 (-6.72%)
Mutual labels:  docker-image
Mq Docker
[DEPRECATED] Sample Docker image for IBM® MQ
Stars: ✭ 120 (-10.45%)
Mutual labels:  docker-image
Eigen Git Mirror
THIS MIRROR IS DEPRECATED -- New url: https://gitlab.com/libeigen/eigen
Stars: ✭ 1,659 (+1138.06%)
Mutual labels:  matrix
Mdtopdf
🐳 Pandoc docker image for converting markdown to PDF using TeX typesetting
Stars: ✭ 127 (-5.22%)
Mutual labels:  docker-image
Foundryvtt Docker
An easy-to-deploy Dockerized Foundry Virtual Tabletop server.
Stars: ✭ 123 (-8.21%)
Mutual labels:  docker-image
Docker Workshop
Introduction to Docker tutorial
Stars: ✭ 124 (-7.46%)
Mutual labels:  docker-image
Docker Registry Pruner
Tool to apply retention logic to docker images in a Docker Registry
Stars: ✭ 122 (-8.96%)
Mutual labels:  docker-image
Kubler
A generic, extendable build orchestrator.
Stars: ✭ 126 (-5.97%)
Mutual labels:  docker-image
Nginx Vod Module Docker
Docker image for nginx with Kaltura's VoD module used by The New York Times
Stars: ✭ 121 (-9.7%)
Mutual labels:  docker-image
Gonum
开源Go语言数值算法库(An open numerical library purely based on Go programming language)
Stars: ✭ 128 (-4.48%)
Mutual labels:  matrix
Numphp
Mathematical PHP library for scientific computing
Stars: ✭ 120 (-10.45%)
Mutual labels:  matrix
Tun2socks
tun2socks - powered by gVisor TCP/IP stack
Stars: ✭ 123 (-8.21%)
Mutual labels:  docker-image
Numsw
Swift library like numpy, playgrounds notebook like jupyter.
Stars: ✭ 126 (-5.97%)
Mutual labels:  matrix
Iobroker.docker
Official Docker Image for ioBroker
Stars: ✭ 133 (-0.75%)
Mutual labels:  docker-image
Laravel Dusk Ci
Docker Test suite for Laravel Dusk in gitlab CI
Stars: ✭ 129 (-3.73%)
Mutual labels:  docker-image

Docker image for Matrix

Notice

With v0.99.5 we publish some changes that can breake the backward compatibility.

We change to python3. We could not test everything. Please come into our chat and/or open a issue on github.

Please make sure to use our tagged docker images and not the latest one. Specifically in a production environment you should never use :latest as that the version can be broken.

Creating Issues and Pull request

We are working with the repository at "https://github.com/AVENTER-UG/docker-matrix". If you want to open issues or create pull request, please use that repository.

Security

We verify the docker layers of our image automaticly with clair. Matrix is not a part of the vulnerability scan, which means clair will only find vulnerabilities that are part of the OS (operating system).

Introduction

Dockerfile for installation of matrix open federated Instant Messaging and VoIP communication server.

The riot.im web client has now his own docker file at github.

Contribution

If you want contribute to this project feel free to fork this project, do your work in a branch and create a pull request.

To support this Dockerimage please pledge via liberapay.

Configuration

To configure run the image with "generate" as argument. You have to setup the server domain and a /data-directory. After this you have to edit the generated homeserver.yaml file.

Please read the synapse readme file about configuration settings, there is also an example setup available to read.

To get the things done, "generate" will create a self-signed certificate, which should be replaced with a valid certificate if used in production, either by giving synapse access to the valid certificate, or by using a reverse proxy.

It is recommended to run the container with a --user : flag, to prevent the container from running as root. However, the synapse process will not run as root if the user flag is not supplied.

Example:

$ docker run -v /tmp/data:/data --rm --user 991:991 -e SERVER_NAME=localhost -e REPORT_STATS=no avhost/docker-matrix:<VERSION> generate

Start

For starting you need the port bindings and a mapping for the /data-directory.

$ docker run -d --user 991:991 -p 8448:8448 -p 8008:8008 -p 3478:3478 -v /tmp/data:/data avhost/docker-matrix:<VERSION> start

Port configurations

Matrix Homeserver

The following ports are used in the container for the Matrix server. You can use -p-option on docker run to configure this part (eg.: -p 443:8448):
8008,8448 tcp

Coturn server

If you only need STUN to work you need the following ports:
3478, 5349 udp/tcp
The server has the following as alt-ports: 3479, 5350 udp/tcp

For TURN (using the server as a relay) you also need to forward this portrange:
49152-65535/udp

You may also have to set the external ip of the server in turnserver.conf which is located in the /data volume:
external-ip=XX.XX.XX.XX

In case you don't want to expose the whole port range on udp you can change the portrange in turnserver.conf:
min-port=XXXXX
max-port=XXXXX

Version information

To get the installed synapse version you can run the image with version as argument or look at the container via cat.

$ docker run -ti --rm avhost/docker-matrix:<VERSION> version
-=> Matrix Version
synapse: master (7e0a1683e639c18bd973f825b91c908966179c15)
coturn:  master (88bd6268d8f4cdfdfaffe4f5029d489564270dd6)

# docker exec -it CONTAINERID cat /synapse.version
synapse: master (7e0a1683e639c18bd973f825b91c908966179c15)
coturn:  master (88bd6268d8f4cdfdfaffe4f5029d489564270dd6)

Environment variables

  • SERVER_NAME: Server and domain name, mandatory, needed only for generate
  • REPORT_STATS: statistic report, mandatory, values: yes or no, needed only for generate
  • MATRIX_UID/MATRIX_GID: UserID and GroupID of user within container which runs the synapse server, if the --user flag is not supplied. The files mounted under /data are chowned to this ownership. Default is MATRIX_UID=991 and MATRIX_GID=991. It can overriden via -e MATRIX_UID=... and -e MATRIX_GID=... at start time.
  • LD_PRELOAD This is set by default to use jemalloc as memory allocator, as that has been shown to greatly reduce the memory useage of synapse. To use the default malloc the environmental variable has to be emptied, by adding -e LD_PRELOAD when running the container.

build specific arguments

  • BV_SYN: synapse version, optional, defaults to master
  • BV_TUR: coturn turnserver version, optional, defaults to master

For building of synapse version v0.11.0-rc2 and coturn with commit a9fc47e add --build-arg BV_SYN=v0.11.0-rc2 --build-arg BV_TUR=a9fc47efd77 to the docker build command.

diff between system and fresh generated config file

To get a hint about new options etc you can do a diff between your configured homeserver.yaml and a newly created config file. Call your image with diff as argument.

$ docker run --rm -ti -v /tmp/data:/data avhost/docker-matrix:<VERSION> diff
[...]
+# ldap_config:
+#   enabled: true
+#   server: "ldap://localhost"
+#   port: 389
+#   tls: false
+#   search_base: "ou=Users,dc=example,dc=com"
+#   search_property: "cn"
+#   email_property: "email"
+#   full_name_property: "givenName"
[...]

For generating of this output its diff from busybox used. The used diff parameters can be changed through DIFFPARAMS environment variable. The default is Naur.

Exported volumes

  • /data: data-container
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].