This will build a Docker Image for Element, An Instant Messenger application to connect to Matrix Homeservers.
- About
- Maintainer
- Table of Contents
- Prerequisites and Assumptions
- Installation
- Configuration
- Maintenance
- Support
- License
- References
Clone this repository and build the image with docker build -t (imagename) .
Builds of the image are available on Docker Hub
docker pull docker.io/tiredofdit/element:(imagetag)
Builds of the image are also available on the Github Container Registry
docker pull ghcr.io/tiredofit/docker-element:(imagetag)
The following image tags are available along with their tagged release based on what's written in the Changelog:
Container OS | Tag |
---|---|
Alpine | :latest |
Images are built primarily for amd64
architecture, and may also include builds for arm/v7
, arm64
and others. These variants are all unsupported. Consider sponsoring my work so that I can work with various hardware. To see if this image supports multiple architecures, type docker manifest (image):(tag)
-
The quickest way to get started is using docker-compose. See the examples folder for a working compose.yml that can be modified for development or production use.
-
Set various environment variables to understand the capabilities of this image.
-
Map persistent storage for access to configuration and data files for backup.
The following directories are used for configuration and can be mapped for persistent storage.
Directory | Description |
---|---|
/config |
Configuration Files |
This image relies on an Alpine Linux base image that relies on an init system for added capabilities. Outgoing SMTP capabilities are handlded via msmtp
. Individual container performance monitoring is performed by zabbix-agent. Additional tools include: bash
,curl
,less
,logrotate
,nano
,vim
.
Be sure to view the following repositories to understand all the customizable options:
Image | Description |
---|---|
OS Base | Customized Image based on Alpine Linux |
Unit | Unit Application Server |
Variable | Description | Default |
---|---|---|
CONFIG_FILE |
Config File | config.json |
CONFIG_PATH |
Config Path | /config/ |
SETUP_MODE |
Generate configuration based on environment variables | AUTO |
Variable | Description | Default |
---|---|---|
BRAND |
Element |
|
BUG_REPORT_URL |
https://element.io/bugreports/submit |
|
CALL_BRAND |
Element Call |
|
CALL_EXCLUSIVE |
false |
|
CALL_URL |
https://call.element.io |
|
CALL_USER_LIMIT |
99 |
|
DEFAULT_COUNTRY_CODE |
US |
|
DEFAULT_DEVICE_DISPLAY_NAME |
tiredofit |
|
DEFAULT_ENABLE_BREADCRUMBS |
TRUE |
|
DEFAULT_ROOM_FEDERATE |
TRUE |
|
DEFAULT_SHOW_POLLS_BUTTON |
FALSE |
|
DEFAULT_SHOW_STICKERS_BUTTON |
FALSE |
|
DEFAULT_SHOW_WELCOME_CHECKLIST |
TRUE |
|
DEFAULT_THEME |
light |
|
ENABLE_3PID_LOGIN |
FALSE |
|
ENABLE_3PID_SERVICES |
TRUE |
|
ENABLE_ADVANCED_ENCRYPTION |
TRUE |
|
ENABLE_ADVANCED_SETTINGS |
TRUE |
|
ENABLE_CUSTOM_HOME_SERVER_URL |
TRUE |
|
ENABLE_DEACTIVATE_ACCOUNT |
TRUE |
|
ENABLE_FEEDBACK |
TRUE |
|
ENABLE_FLAIR |
TRUE |
|
ENABLE_GUESTS |
FALSE |
|
ENABLE_IDENTITY_SERVICES |
TRUE |
|
ENABLE_LOGIN_LANGUAGE_SELECTION |
FALSE |
|
ENABLE_REGISTRATION |
TRUE |
|
ENABLE_RELATIVE_DATES |
TRUE |
|
ENABLE_ROOM_HISTORY_SETTINGS |
TRUE |
|
ENABLE_SHARE_QR |
TRUE |
|
ENABLE_SHARE_SOCIAL |
TRUE |
|
ENABLE_UNVERIFIED_SESSION_REMINDER |
TRUE |
|
ENABLE_URL_PREVIEW |
TRUE |
|
ENABLE_VOIP |
TRUE |
|
ENABLE_WIDGETS |
TRUE |
|
HOME_SERVER_URL |
https://matrix-client.matrix.org |
|
IDENTITY_SERVER_URL |
https://vector.im |
|
INTEGRATIONS_REST_URL |
https://scalar.vector.im/api |
|
INTEGRATIONS_UI_URL |
https://scalar.vector.im/ |
|
JITSI_DOMAIN |
meet.element.io |
|
JITSI_SKIP_WELCOME_SCREEN |
TRUE |
|
LOGOUT_REDIRECT_URL |
null |
|
MAP_STYLE_URL |
https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx |
|
SETTINGS_SHOW_LABS |
TRUE |
|
SSO_AUTO_LOGIN |
FALSE |
|
VOIP_OBEY_ASSERTED_IDENTITY |
FALSE |
For debugging and maintenance purposes you may want access the containers shell.
docker exec -it (whatever your container name is) bash
These images were built to serve a specific need in a production environment and gradually have had more functionality added based on requests from the community.
- The Discussions board is a great place for working with the community on tips and tricks of using this image.
- Consider sponsoring me for personalized support
- Please, submit a Bug Report if something isn't working as expected. I'll do my best to issue a fix in short order.
- Feel free to submit a feature request, however there is no guarantee that it will be added, or at what timeline.
- Consider sponsoring me regarding development of features.
- Best effort to track upstream changes, More priority if I am actively using the image in a production environment.
- Consider sponsoring me for up to date releases.
MIT. See LICENSE for more details.