voice.suttacentral.net
About Voice

This document describes how to set up Voice on a new Linode server.

Set up a Linode account

You will need a Linode account, which will require a credit card for any expenses that you incur. Be very aware of what you do with Linode. It is the candy store of temptation. Your credit card will be charged. Monitor your usage constantly and set up appropriate notifications so that you can curtail or adjust use before incurring unwanted charges.

Create Linode Server (Staging)

Linode servers are billed whether they are online or not. By creating a Linode server, you are subscribing and will pay for your new Linode server.

Parameter Value
Distribution Debian 10
Region Newark
Linode Plan Shared CPU; Nanode 1GB
Linode Label scv-s1
Tags Staging
Root password a-password
SSH key a-public-key

Verify cost (5USD/month) and push Create Linode.

Screenshot: New Server

You will now be able to login to your new Linode server.

Set up and Secure Linode Server

Follow the instructions to set up and secure your new Linode server with the following customizations

Customization Context Value Notes
Linux all Debian Same as dev computer
hostname staging scv-sN E.g.: scv-s1
hostname production scv-pN E.g.: scv-p1
timezone all America/Los_Angeles Only for dev logs
non-root user all unroot id_pub secured dev username needed to disable root SSH login
firewall all scv-firewall Linode Cloud firewall allow: SSH, HTTP, HTTPS

Install Voice On Linode Server

NOTE: Since the following uses sudo, you may wish to disable sudo password entry for unroot.

suda apt install git
sudo chown -R $(whoami):$(whoami) ~
git clone https://github.com/sc-voice/sc-voice.git
cd sc-voice
sudo chown -R $(whoami):$(whoami) .
./scripts/init.sh
sudo chown -R $(whoami):$(whoami) .

Update Voice but do not reboot:

./scripts/update-latest

Launch Voice in HTTP mode for port 80

sudo npm start

Verify that Voice is running by using a browser to view the public IP of the Linode server. Don't press any buttons (e.g., audio won't work) The HTTP port 80 Voice server is temporary. We are just using it to verify that Voice can run on the Linode server.

After verifying that Voice functions as expected on HTTP port 80, we will need to shut down the HTTP port 80 server

CTRL-C
sudo chown -R $(whoami):$(whoami) * .*

Install SSL Credentials

Install the SSL credentials for voice.suttacentral.net in _~/sc-voice/local/ssl:

Add AWS Credentials

The AWS credentials are stored in local/vsm-s3.json. Enter the AWS credentials:

scripts/aws-creds
Install and Launch Voice Daemon

Install the Voice daemon to start up when the system is rebooted.

cd ~sc-voice
./scripts/sc-voice-daemon.sh
sudo shutdown -r now

When the server reboots, allow several minutes for Voice to start up.

Public Static IP

Linode server IPs are static. If you need to create a new Voice Linode server, it will have a new IP. Since the IP will change, all dependent servers (e.g., SuttaCentral.net) will need to be redirected to the new Linode server IP). See Linux Static IP Configuration.