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
-
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
-
kustos
- authz abstraction based on casbin-rs
- test-util
-
types
- types that are shared across different crates, such as Web API and signaling messages