This repository provides the source code primary API endpoint of the ClassTranscribe Server. Copyright (C) University of Illinois, USA. 2019-2026
The source code in this repository is licensed here. Please email angrave at Illinois if you are interested in alternative licenses of this code and related intellectual property.
In submitting code to this repository - for example by issuing a git pull-request, or working directly with ClassTranscribe developers to merge or add code - you agree to re-assign copyright of the code to the University of Illinois.
This repository is in the form of 3 docker services,
- The ClassTranscribeServer (service name - classtranscribeserver, accessible on port 8080)
- A postgresQL database server (service name - db, accessible on port 5432)
- A pgadmin server, which allows to interact with the db using a GUI interface (service name - pgadmin, accessible on port 5050)
To build this repository,
-
Install docker
-
Obtain all the environment variable files from an admin
-
To start all the services
docker-compose upTo start a single service
docker-compose up [service_name]Eg.
docker-compose up -d api"-d" option allows running the service in a detached mode
-
That's it.
You can also build any of the three services individually for testing using one or more of the following commands:
docker build -t classtranscribe/api:latest -f API.Dockerfile .
docker build -t classtranscribe/pythonrpcserver -f pythonrpcserver.Dockerfile .
docker build -t classtranscribe/taskengine -f TaskEngine.Dockerfile .
By default, the pythonrpcserver is built with the latest version of pytube available from pypi.
To build pythonrpcserver with a specific version of pytube (for testing purposes):
docker build -t classtranscribe/pythonrpcserver -f pythonrpcserver.Dockerfile . --build-arg=PYTUBE_VERSION=12.1.0This will run an optional build step to override the installed version of pytube with the target version downloaded directly from Github.
- If there are dependency changes made to classtranscribeserver, you are required to rebuild using docker-compose
docker-compose up --build api - After making any code changes to rebuild code, just re-run the service,
docker-compose up api - Refer gotchas.md for known coding blunders.
