What is it?
A solution for storing and viewing transcripts from Jitsi Meet. Provides an interface for viewing and searching transcripts, as well as storage in a database (Postgres).
Usage
This project is deployed to https://transcripts.omoiomoi.org. You are welcome to sign up for an account there. At first, you will not see meetings. You will want to configure jigasi with the following entry:
org.jitsi.jigasi.transcription.SEND_JSON_REMOTE_URLS=https://transcripts.omoiomoi.org/api/meetingEvent
After configuration and following meetings, you will then see transcribed meetings in the OmoiOmoi UI.
Development
Tech Stack
- Play Framework and Scala for the REST API
- React.js and Redux for the UI
Deployment
Prerequisites
If you prefer to run your own instance of OmoiOmoi Transcripts, you will need the following:
- A Postgres database.
- An account with Auth0. They offer a free tier with support for up to 7,000 users.
- An application and an API configured in the Auth0 web console.
- SBT installed.
Building a Docker image
Perhaps the easiest way to deploy OmoiOmoi Transcripts is via a Docker container. To build a Docker image:
git clone https://github.com/megafarad/omoiomoi.git
- Create a file named
.env
in the omoiomoi/ui directory, with the following entries:REACT_APP_AUTH0_DOMAIN=<<your tenant domain>> REACT_APP_AUTH0_CLIENT_ID=<<your Auth0 app client id>> REACT_APP_AUTH0_AUDIENCE=<<your Auth0 API audience>> REACT_APP_AUTH0_SCOPE=read:meetings
cd omoiomoi/ui
yarn build
cd ..
sbt docker:publishLocal
Once SBT is finished, you will have an image in Docker that you can deploy.
Application Secret
Before deploying to production, you will need to generate an application secret. In the project directory, type
sbt playGenerateSecret
. Keep the generated secret somewhere for configuration as an environment variable.
Environment Variables
The following environment variables are expected for configuration:
Environment Variable | Function | Default Value |
---|---|---|
DB_URL |
The Postgres Database URL | jdbc:postgresql://localhost:5432/ |
DB_USER |
The database user | postgres |
DB_PASSWORD |
The database password | postgres |
AUTH0_DOMAIN |
Domain for Auth0. Configured in the Auth0 web console. | - |
AUTH0_AUDIENCE |
The Auth0 API Audience. Also configured in the Auth0 console. | - |
APPLICATION_SECRET |
The Play Framework Application Secret. More info is available here. | changeme |
HOST_DOMAIN |
The domain that will host OmoiOmoi Transcripts. | - |
License
Copyright (C) Chris Carrington.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.