Skip to content

Deployment

Bennett Wu edited this page May 4, 2025 · 1 revision

Docker

The ScribeAR frontend can be deployed using prebuilt Docker containers.

  1. Pull the latest image from Dockerhub
    docker pull scribear/frontend:master
    
  2. Start the container and expose port 8080.
    docker run -p 8080:80 scribear/frontend:master
    

Github Pages

ScribeAR is automatically deployed to Github pages when the master branch is updated. Go to https://scribear.illinois.edu/v/latest/ to check out the latest version.

  • Note there is limited compatability with ScribeAR Server due to browser restrictions.
    • The Github pages site is served over https. For most browsers, this is required to access a device's microphone from a webpage. However, most browsers also restrict sites using https from making unsecured http connections. Thus, a ScribeAR Server node server or whisper service instance (see https://github.com/scribear/ScribeAR-NodeServer/wiki/Home#About) without valid https certifications will fail to connect.
    • Workarounds:
      • Run node server or whisper service on the same device and connect via localhost.
        • Browsers treat localhost as a secure origin. Thus, http connections are allowed.
      • Deploy node server or whisper service with https support.
        • This requires a internet accessible server and a custom domain name. You'll need to setup up https certificates for your server (letencrypt provides free certificates). You'll also need to run node server or whisper service on your server and make it accessible via your domain (a reverse proxy like Nginx would be a good way to make this happen).

Kiosk Mode

If you have ScribeAR node server running, ScribeAR can be deployed in kiosk mode. In this mode, a single device, the "kiosk", serves as the audio source for the transcriptions. The kiosk will automatically use ScribeAR Server as the speech recognizer and connect to the configured node server. In addition, a QR code is shown on the kiosk that users can scan to open ScribeAR in "student" mode. In student mode, ScribeAR connects to the same node server as the kiosk and receives the same transcriptions as the kiosk.

  • To run in kiosk mode, use the following URL format in the browser:

    ${SECURE_SCRIBEAR_URL}/?mode=kiosk&kioskServerAddress=${NODE_SERVER_ADDRESS}&sourceToken=${SOURCE_TOKEN}&scribearURL=${PUBLIC_SCRIBEAR_URL}
    
    • SECURE_SCRIBEAR_URL
      • A secure url to the ScribeAR frontend.
      • For example, http://127.0.0.1:8080, https://scribear.illinois.edu/v/latest
    • NODE_SERVER_ADDRESS
      • The address of the node server ScribeAR should connect to. This address should be accessible by other users.
      • For example, 192.168.0.10:8888
    • SOURCE_TOKEN
      • The source token used to connect to node server. This is used by node server to authenticate which connection is allowed to send audio.
      • For example, QMLPrdXwDXOdOymsvdisNg==
    • PUBLIC_SCRIBEAR_URL
      • A insecure url to the ScribeAR frontend
      • For example, http://192.168.0.10:8080
  • For example, if you have a kiosk machine with ip address 192.168.0.10.

    • Suppose the frontend is running on the same machine on port 8080.
    • Suppose the node server is running on the same machine on port 8888 and is configured with source token QMLPrdXwDXOdOymsvdisNg==
    • You can connect using
      http://127.0.0.1:8080/?mode=kiosk&kioskServerAddress=192.168.0.10:8888&sourceToken=QMLPrdXwDXOdOymsvdisNg==&scribearURL=http://192.168.0.10:8080
      
Clone this wiki locally