Skip to content

Deploy: Raspberry Pi

Gerald Oster edited this page Jun 22, 2017 · 5 revisions

We presume having a fresh installation of Raspbian OS and that the Raspberry Pi is available on RASP_IP IP address. Thus we will deploy

  • Signaling server on ws://RASP_IP:8000
  • HTTP server serving MUTE at http://RASP_IP

Install

Install NVM, NodeJS 7.10.0, PM2, Signaling server (sigver), HTTP server (live-server).

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash &&
source ~/.bashrc &&
nvm install v7.10.0 &&
npm install -g pm2 sigver live-server

Give the pi user account permission to use default HTTP port 80 by installing the libcap2-bin package and applying permissions:

sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep $(which node)

Build MUTE

We recommend to build MUTE on your machine and then transfer generated files to Raspberry Pi, because it can take much longer to install MUTE project dependencies on Raspberry Pi and no guarantee that the installation process will successfully accomplished.

Clone repository:

git clone https://github.com/coast-team/mute.git

Edit ~/mute/src/environments/environment.prod.ts file.

export const environment = {
  production: true,
  devLabel: false,
  fetchIceServers: true,
  signalingURL: 'ws://RASP_IP:8000',
  storages: []
}

Run npm run build, then transmit all files and folders in the just generated dist folder to Raspberry Pi: ~/html

Run Servers

Run Signaling and HTTP servers. Do not forget to replace RASP_IP by your actual IP address.

pm2 start --name signaling $(which sigver) &&
cd ~/html &&
pm2 start --name mute live-server -- --port=80 --host=RASP_IP --no-browser --quiet --entry-file=index.html

Configure to run on OS boot

After you have run the servers, execute:

pm2 startup

Probably this command will ask you to execute another command. Follow its instructions. And finally execute:

pm2 save

Conclusion

MUTE is available under: http://RASP_IP

Clone this wiki locally