dendrite/helm/dendrite
2022-12-06 12:18:01 +01:00
..
.helm-docs Add missing files, fix lint 2022-12-06 09:30:35 +01:00
ci Thanks linter 2022-12-06 12:02:34 +01:00
templates Remove unneeded DBs 2022-12-06 12:17:02 +01:00
Chart.yaml Add missing files, fix lint 2022-12-06 09:30:35 +01:00
README.md Update README 2022-12-06 12:18:01 +01:00
README.md.gotmpl Add modified helm chart 2022-12-06 09:04:28 +01:00
values.yaml Remove unneeded DBs 2022-12-06 12:17:02 +01:00

dendrite

Version: 0.10.8 Type: application AppVersion: 0.10.8 Dendrite Matrix Homeserver

Status: NOT PRODUCTION READY

About

This chart creates a monolith deployment, including an optionally enabled PostgreSQL dependency to connect to.

Manual database creation

(You can skip this, if you're deploying the PostgreSQL dependency)

You'll need to create the following databases before starting Dendrite (see install.md):

create database dendrite_federationapi;
create database dendrite_mediaapi;
create database dendrite_roomserver;
create database dendrite_userapi_accounts;
create database dendrite_keyserver;
create database dendrite_syncapi;

or

for i in mediaapi syncapi roomserver federationapi keyserver userapi_accounts; do
    sudo -u postgres createdb -O dendrite dendrite_$i
done

Usage with appservices

Create a folder appservices and place your configurations in there. The configurations will be read and placed in a secret dendrite-appservices-conf.

Source Code

Requirements

Repository Name Version
https://charts.bitnami.com/bitnami postgresql 11.6.21

Values

Key Type Default Description
clientapi.registration.disabled bool true Disable registration
clientapi.registration.enable_registration_captcha bool false enable reCAPTCHA registration
clientapi.registration.recaptcha_bypass_secret string "" reCAPTCHA bypass secret
clientapi.registration.recaptcha_private_key string "" reCAPTCHA private key
clientapi.registration.recaptcha_public_key string "" reCAPTCHA public key
clientapi.registration.recaptcha_siteverify_api string ""
clientapi.registration.shared_secret string "" If set, allows registration by anyone who knows the shared secret, regardless of whether registration is otherwise disabled.
configuration.cache.max_age string "1h" The maximum amount of time that a cache entry can live for in memory before it will be evicted and/or refreshed from the database. Lower values result in easier admission of new cache entries but may also increase database load in comparison to higher values, so adjust conservatively. Higher values may make it harder for new items to make it into the cache, e.g. if new rooms suddenly become popular.
configuration.cache.max_size_estimated string "1gb" The estimated maximum size for the global cache in bytes, or in terabytes, gigabytes, megabytes or kilobytes when the appropriate 'tb', 'gb', 'mb' or 'kb' suffix is specified. Note that this is not a hard limit, nor is it a memory limit for the entire process. A cache that is too small may ultimately provide little or no benefit.
configuration.database.conn_max_lifetime int -1 Default database maximum lifetime
configuration.database.host string "" Default database host
configuration.database.max_idle_conns int 2 Default database maximum idle connections
configuration.database.max_open_conns int 90 Default database maximum open connections
configuration.database.password string "" Default database password
configuration.database.user string "" Default database user
configuration.disable_federation bool false Disable federation. Dendrite will not be able to make any outbound HTTP requests to other servers and the federation API will not be exposed.
configuration.dns_cache.cache_lifetime string "10m" Duration for how long DNS cache items should be considered valid (see time.ParseDuration for more)
configuration.dns_cache.cache_size int 256 Maximum number of entries to hold in the DNS cache
configuration.dns_cache.enabled bool false Whether or not the DNS cache is enabled.
configuration.key_validity_period string "168h0m0s"
configuration.logging list default dendrite config values Default logging configuration
configuration.metrics.basic_auth.password string "metrics" HTTP basic authentication password
configuration.metrics.basic_auth.user string "metrics" HTTP basic authentication username
configuration.metrics.enabled bool false Whether or not Prometheus metrics are enabled.
configuration.mscs list [] Configuration for experimental MSC's. (Valid values are: msc2836 and msc2946)
configuration.profiling.enabled bool false Enable pprof
configuration.profiling.port int 65432 pprof port, if enabled
configuration.rate_limiting.cooloff_ms int 500 Cooloff time in milliseconds
configuration.rate_limiting.enabled bool true Enable rate limiting
configuration.rate_limiting.threshold int 5 After how many requests a rate limit should be activated
configuration.server_name string "" Servername for this Dendrite deployment
configuration.signing_key.create bool true Create a new signing key, if not exists
configuration.signing_key.existingSecret string "" Use an existing secret
configuration.tracing object disabled Default tracing configuration
configuration.trusted_third_party_id_servers list ["matrix.org","vector.im"] Lists of domains that the server will trust as identity servers to verify third party identifiers such as phone numbers and email addresses.
configuration.turn.turn_password string "" The TURN password
configuration.turn.turn_shared_secret string ""
configuration.turn.turn_uris list []
configuration.turn.turn_user_lifetime string ""
configuration.turn.turn_username string "" The TURN username
configuration.well_known_client_name string nil The server name to delegate client-server communications to, with optional port e.g. localhost:443
configuration.well_known_server_name string "" The server name to delegate server-server communications to, with optional port e.g. localhost:443
federationapi.disable_tls_validation bool false Disable TLS validation
federationapi.prefer_direct_fetch bool false
federationapi.send_max_retries int 16
image.name string "ghcr.io/matrix-org/dendrite-monolith:v0.10.8" Docker repository/image to use
image.pullPolicy string "IfNotPresent" Kubernetes pullPolicy
ingress.annotations object {}
ingress.enabled bool false Create an ingress for a monolith deployment
ingress.hosts list []
ingress.tls list []
mediaapi.dynamic_thumbnails bool false
mediaapi.max_file_size_bytes string "10485760" The max file size for uploaded media files
mediaapi.max_thumbnail_generators int 10 The maximum number of simultaneous thumbnail generators to run.
mediaapi.thumbnail_sizes list default dendrite config values A list of thumbnail sizes to be generated for media content.
persistence.jetstream.capacity string "1Gi"
persistence.jetstream.existingClaim string ""
persistence.media.capacity string "1Gi"
persistence.media.existingClaim string ""
persistence.search.capacity string "1Gi"
persistence.search.existingClaim string ""
persistence.storageClass string "local-path"
postgresql.auth.database string "dendrite"
postgresql.auth.password string "changeme"
postgresql.auth.username string "dendrite"
postgresql.enabled bool See value.yaml Enable and configure postgres as the database for dendrite.
postgresql.image.repository string "bitnami/postgresql"
postgresql.image.tag string "14.4.0"
postgresql.persistence.enabled bool false
resources object sets some sane default values Default resource requests/limits. This can be set individually for each component, see mediaapi
syncapi.real_ip_header string "X-Real-IP" This option controls which HTTP header to inspect to find the real remote IP address of the client. This is likely required if Dendrite is running behind a reverse proxy server.
syncapi.search object {"enabled":false,"language":"en"} Configuration for the full-text search engine.
syncapi.search.enabled bool false Whether or not search is enabled.
syncapi.search.language string "en" The language most likely to be used on the server - used when indexing, to ensure the returned results match expectations. A full list of possible languages can be found at https://github.com/blevesearch/bleve/tree/master/analysis/lang