Installing Vocat

Getting Started

Vocat's source code is hosted on Github. To simplify installation, we offer our users a .deb package. This package is currently tested on Ubuntu 16 virtual machines (at Digital Ocean). In the future, we hope to release packages for RHEL/Centos and for additional versions of Ubuntu.

Vocat depends on Amazon Web Services (AWS) for important functionality. In the future, this might change, and Vocat might provide these services locally. However, for the time being, AWS is used for 1) object storage (S3), and 2) transcoding audio and video files. At large scale, Vocat can easily store terabytes of student submissions, all of which need to be transcoded into web-friendly formats. By outsourcing the storage and transcoding of these files to AWS, instances of Vocat can rapidly scale to accomodate large amounts of data. To install Vocat, you will need an AWS account. While Vocat is open source and free of charge, some costs will likely apply to the media stored and transcoded on AWS services.

You can create a new AWS account here. You should also create an IAM user for Vocat. This will generate an access key ID and secret key that will be used while configuring Vocat with AWS. Be sure to make note of your access key ID and secret key.

Step 1: Download the Package

The current version of Vocat is 3.4.0. Download packages from the links below. You should be able to use curl or a similiar tool to pull the package directly to the server.

Step 2: Install Package

Ensure that Vocat .deb file is accessible from your target VM.

  1. Shell into the target VM and run:
    sudo apt install wkhtmltopdf
    sudo dpkg -i path/to/Vocat/deb
  2. Run initial config:
    sudo Vocat-ctl reconfigure
  3. To configure Vocat with your S3 account, run:
    sudo Vocat-rake config:aws
    Copy the output to your /etc/Vocat/Vocat.rb config file.

    This will generate an S3 bucket and roles using your AWS S3 credentials. It will also automatically create transcoding pipelines in Elastic Transcoder that are connected to the storage buckets.

    You will need your AWS access key ID and secret key.
    If you do not know your secret key, you will need to replace it or create a new IAM user.
  4. Set the external_url at the top of your /etc/Vocat/Vocat.rb file. This should be set to the fully qualified domain name (FQDN) of your Vocat instance.
  5. Re-configure with your AWS settings and start services with:
    sudo Vocat-ctl reconfigure

Your Vocat installation should now be visible at the route specified in step 3.

Step 3: Verify Service Status

Vocat ships with a command-line tool for managing your installation. To see a list of available commands, execute the following command from your terminal application:

sudo Vocat-ctl help
You can use this tool to list all Vocat services:
sudo Vocat-ctl service-list
and to see the status of these services:
sudo Vocat-ctl status

Uninstalling Vocat

Vocat installs files into /opt/Vocat, /var/opt/Vocat, /var/log/Vocat, and /etc/Vocat.

To uninstall Vocat and stop all Vocat services, run:

sudo Vocat-ctl uninstall
To fully remove Vocat and all its directories, run:
sudo Vocat-ctl cleanse