sonr/pkl/matrix.net/Homeserver.pkl
Prad Nukala d69c2a9d53
feature/refactor ui (#1205)
* fix: correct HTTP error handling in gateway

* refactor: migrate database and ORM to internal modules

* feat: introduce taskfile build system for improved workflow management

* refactor: update taskfiles to use relative paths

* feat: add profile status field

* refactor: move rendering logic to context package

* fix: improve error handling in credentials retrieval

* refactor: optimize HTTP request handling in Wasm environment

* refactor: refactor config loading in motr command

* chore: add process-compose for service management

* chore: remove default task and update gum format command

* fix: update project dependencies

* refactor: improve code readability and maintainability

* refactor: consolidate error handling components

* refactor: update index handler to use new context package

* refactor: consolidate database scripts and move to deploy directory

* feat: Update flake.nix with development tools and environment configuration

* fix: ignore flake.lock file

* refactor: migrate build process to use taskfiles for improved modularity and maintainability

* refactor: improve GatewayContext and reorganize handlers

* refactor: Remove unused profile creation functions

* (chore): templ generation

* test: add test file for vaults.go

* maintenance: remove defunct Discord server link

* docs: update checks workflow documentation

* test: remove obsolete vaults test file

* refactor: move version bumping logic to release workflow
2024-12-22 17:01:11 -05:00

198 lines
3.6 KiB
Plaintext

open module matrix.net.Homeserver
version = 2
global = new {
server_name = read("env:MATRIX_SERVER_NAME") ?? "mx.sonr.id"
private_key = "matrix_key.pem"
old_private_keys = new Listing {}
key_validity_period = "168h0m0s"
}
database = new {
connection_string = read("env:MATRIX_PSQL_CONN") ?? ""
max_open_conns = 90
max_idle_conns = 5
conn_max_lifetime = -1
}
cache = new {
max_size_estimated = "1gb"
max_age = "1h"
}
well_known_server_name = "sonr.id"
well_known_client_name = read("env:MATRIX_CLIENT_NAME") ?? "sonr.id"
well_known_sliding_sync_proxy = read("env:MATRIX_SLIDING_SYNC_PROXY") ?? ""
trusted_third_party_id_servers = new Listing {
"matrix.org"
"vector.im"
}
disable_federation = false
presence = new {
enable_inbound = false
enable_outbound = false
}
report_stats = new {
enabled = false
endpoint = "https://panopticon.matrix.org/push"
}
server_notices = new {
enabled = false
local_part = "_server"
display_name = "Server Alerts"
avatar_url = ""
room_name = "Server Alerts"
}
jetstream = new {
addresses = new Listing {}
disable_tls_validation = false
storage_path = "./"
topic_prefix = "_matrix"
}
metrics = new {
enabled = false
basic_auth = new {
username = "metrics"
password = "metrics"
}
}
dns_cache = new {
enabled = false
cache_size = 256
cache_lifetime = "5m"
}
app_service_api = new {
disable_tls_validation = false
legacy_auth = false
legacy_paths = false
config_files = new Listing {
"/etc/dendrite/chat-service.yaml"
}
}
client_api = new {
registration_disabled = true
guests_disabled = true
registration_shared_secret = read("env:MATRIX_REGISTRATION_SHARED_SECRET") ?? ""
enable_registration_captcha = (read("env:MATRIX_ENABLE_RECATCHA") ?? "false").toBoolean()
recaptcha_public_key = read("env:MATRIX_RECATCHA_PUBLIC_KEY") ?? ""
recaptcha_private_key = read("env:MATRIX_RECATCHA_PRIVATE_KEY") ?? ""
recaptcha_bypass_secret = read("env:MATRIX_RECATCHA_BYPASS_SECRET") ?? ""
}
turn = new {
turn_user_lifetime = "5m"
turn_uris = new Listing {}
turn_shared_secret = ""
}
rate_limiting = new {
enabled = true
threshold = 20
cooloff_ms = 500
exempt_user_ids = new Listing {}
}
federation_api = new {
send_max_retries = 16
disable_tls_validation = false
disable_http_keepalives = false
key_perspectives = new Listing {
new {
server_name = "matrix.org"
keys = new Listing {
new {
key_id = "ed25519:auto"
public_key = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"
}
new {
key_id = "ed25519:a_RXGa"
public_key = "l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ"
}
}
}
}
prefer_direct_fetch = false
}
media_api = new {
base_path = "./media_store"
max_file_size_bytes = 10485760
dynamic_thumbnails = false
max_thumbnail_generators = 10
thumbnail_sizes = new Listing {
new {
width = 32
height = 32
method = "crop"
}
new {
width = 96
height = 96
method = "crop"
}
new {
width = 640
height = 480
method = "scale"
}
}
}
mscs = new {
mscs = new Listing {}
}
sync_api = new Listing {}
search = new {
enabled = false
index_path = "./searchindex"
language = "en"
}
user_api = new {
bcrypt_cost = 10
auto_join_rooms = new Listing {
// - "#main:matrix.org"
}
}
tracing = new {
enabled = false
jaeger = new {
serviceName = ""
disabled = false
rpc_metrics = false
tags = new Listing {}
sampler = null
reporter = null
headers = null
baggage_restrictions = null
throttler = null
}
}
logging = new Listing {
new {
type = "std"
level = "info"
}
new {
type = "file"
level = "info"
params = new {
path = "./logs"
}
}
}