This repository is a multi-packages repository. See Modules for details.
ToM server enhances a Matrix Synapse server with several features:
Here is the architecture principle:
REST API Endpoints documentation is available on https://linagora.github.io/ToM-server/
npm run build
: build all packagesnpm run test
: test all packagesThis repository provides different docker images. The main is Tom Server itself. Here are its environment variables:
BASE_URL
: Public URLDATABASE_ENGINE
(pg
or sqlite
)DATABASE_HOST
(path for sqlite
)DATABASE_NAME
DATABASE_USER
DATABASE_PASSWORD
DATABASE_SSL
OIDC_ISSUER
: URL of SSO serverLDAP_BASE
LDAP_FILTER
LDAP_USER
LDAP_PASSWORD
LDAP_URI
SERVER_NAME
(same value than in Matrix's homeserver.yaml)MATRIX_SERVER
(real Matrix server)TEMPLATE_DIR
_(default: node_modules/@twake/server/templates
)_ADDITIONAL_FEATURES
: set true to have all search features; false for a public instanceCRON_SERVICE
(default: true): enable cron tasksPEPPER_CRON
(default: 9 1 * * *
)UPDATE_USERS_CRON
(default: */15 * * * *
)UPDATE_FEDERATED_IDENTITY_HASHES_CRON
(default: 3 3 * * *
)LOG_TRANSPORTS
: set to Console
LOG_LEVEL
: default to "error", possible values: "error", "warn", "info", "http", "verbose", "debug", "silly"TRUSTED_PROXIES
: IP list of server allowed to set X-Frowarded-For
headerRATE_LIMITING_WINDOW
RATE_LIMITING_NB_REQUESTS
FEDERATED_IDENTITY_SERVICES
: list of federated identity servicesCROWDSEC_URI
CROWDSEC_KEY
JITSI_BASE_URL
JITSI_JWT_ALGORITHM
JITSI_JWT_ISSUER
JITSI_SECRET
JITSI_PREFERRED_DOMAIN
JITSI_USE_JWT
MATRIX_DATABASE_ENGINE
MATRIX_DATABASE_HOST
MATRIX_DATABASE_NAME
MATRIX_DATABASE_PASSWORD
MATRIX_DATABASE_SSL
MATRIX_DATABASE_USER
OPENSEARCH_CA_CERT_PATH
OPENSEARCH_HOST
OPENSEARCH_IS_ACTIVATED
OPENSEARCH_MAX_RETRIES
OPENSEARCH_NUMBER_OF_SHARDS
OPENSEARCH_NUMBER_OF_REPLICAS
OPENSEARCH_PASSWORD
OPENSEARCH_SSL
OPENSEARCH_USER
OPENSEARCH_WAIT_FOR_ACTIVE_SHARDS
Copyright (c) 2023-present Linagora https://linagora.com
License: GNU AFFERO GENERAL PUBLIC LICENSE