5 unstable releases

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

#54 in Caching

Download history 99/week @ 2024-03-15 16/week @ 2024-03-22 199/week @ 2024-03-29 264/week @ 2024-04-05

578 downloads per month
Used in opentalk-types

EUPL-1.2

9KB
208 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

Dependencies

~11–24MB
~340K SLoC