Skip to content

Backend Configuration

The backend server is configured via a YAML file (default mzchat-backend.yml) or environment variables. Environment variables take precedence over the configuration file.

The port the server listens on (default: 50051)

Type: number


Path to static files to serve (optional)

Type: string | undefined (Optional)


Base path for the API (default: /mzchat)

Type: string


Database connection URL (e.g. file:backend.db)

Type: string


Database backend type (default: sqlite)

Type: "sqlite" | "postgres" | "libsql"


The canonical public address of the server

Type: string


Domain used for serving assets

Type: string


Path to database migrations

Type: string


Path to store uploaded files

Type: string


Directory for storing state (database, secrets, etc.)

Type: string


Meilisearch URL (optional)

Type: string | undefined (Optional)


Meilisearch API Key (optional)

Type: string | undefined (Optional)


Meilisearch index name (default: mzchat-messages)

Type: string


Path to embedded Meilisearch database

Type: string


Secret used for signing JWTs

Type: string


Logging level (info, debug, error, etc.)

Type: string


Whether to run database migrations on startup

Type: boolean


IRC Server Configuration

Type: Object

  • enabled (boolean): Enable the IRC server
  • port (number): Port for the IRC server
  • publicHost (string | undefined): Public facing host for the IRC server (optional)
  • publicPort (number | undefined): Public facing port for the IRC server (optional)

LiveKit Configuration

Type: Object

  • url (string): LiveKit server URL
  • apiKey (string): LiveKit API Key
  • apiSecret (string): LiveKit API Secret