6 releases (3 breaking)

new 0.13.0-alpha Apr 9, 2024
0.12.0-alpha.1 Apr 2, 2024
0.12.0-alpha Mar 18, 2024
0.11.0 Apr 9, 2024
0.0.0 Feb 8, 2023

#415 in Database interfaces

Download history 14/week @ 2024-02-19 17/week @ 2024-02-26 5/week @ 2024-03-11 95/week @ 2024-03-18 255/week @ 2024-04-01

355 downloads per month

EUPL-1.2

37KB
852 lines

OpenTalk Controller

See the administration guide for more information.

Configuration

See the configuration chapter of the administration guide for more information.

An example configuration is available in the extra/example.toml(extra/ example.toml) file. It can be copied to the root directory:

cp ./extra/example.toml ./config.toml

Upgrading

See the migration guide for information about upgrading.

Build the container image

The Dockerfile is located at container/Dockerfile.

To build the image, execute in the root of the repository:

docker build -f container/Dockerfile . --tag <your tag>

Sub-crates

Inside the crates folder following crates can be found:

  • controller
    • core crate which contains all of the controllers core features
    • OpenID Connect user authentication
    • Database connection and interfacing
    • actix_web based HTTP servers for external and internal APIs
    • Extensible signaling websocket endpoint for video room signaling
  • controller-settings
    • Settings for the controller
  • db-storage
    • Database types used for the controller and modules
  • janus-media
    • media signaling module using the janus-client crate
  • jobs
    • Job execution system for maintenance tasks such as removing old meeting information according to GDPR legislation
  • community-modules
    • functionality for registering all modules in the community edition
    • depends on all modules in the community edition
  • chat
    • chat signaling module which implements a simple room, group and private chat
  • automod
    • signaling module implementing automoderation for videoconferences
  • legal-vote
    • signaling module implementing legal vote for videoconferences
  • polls
    • signaling module implementing polls for videoconferences
  • client EXPERIMENTAL
    • Client side implementation of the controllers APIs used for testing
  • r3dlock
    • redis redlock distributed lock implementation for a single instance
  • janus-client
  • kustos
    • authz abstraction based on casbin-rs
  • test-util
  • types
    • types that are shared across different crates, such as Web API and signaling messages

lib.rs:

OpenTalk Database connector, interface and connection handling

Dependencies

~40–54MB
~735K SLoC