Installation Procedure
1. Install VMS API
2. Install VMS APP
The VMS APP server functions to communicate between the sources and the VMS API.
Pre-requisites
-
Install MongoDB
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
-
Check that key is added successfully
apt-key list
-
Create a file in the sources.list.d directory named mongodb-org-4.4.list
echo “deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
-
Update server local package index
sudo apt update
-
Install MongoDB
sudo apt install mongodb-org
MongoDB Service
-
Start the MongoDB service
sudo systemctl start mongod.service
-
Check the status of the MongoDB service
sudo systemctl status mongod
-
Enable the MongoDB service on startup
sudo systemctl enable mongod
Follow the instructions here to setup access control to protect your MongoDB installation https://docs.mongodb.com/manual/tutorial/enable-authentication/.
Mounting SpiderWare recordings and recallings folders
-
Generate the key
ssh-keygen -t rsa
-
Create .ssh folder where SpiderWare is installed
ssh root@spiderware_host "mkdir -p .ssh"
-
Upload the generated public keys to the SpiderWare host
cat ~/.ssh/id_rsa.pub | ssh root@spiderware_host "cat >> ~/.ssh/authorized_keys"
-
Set permissions in the SpiderWare host
ssh root@spiderware_host "chmod 700 ~/.ssh; chmod 640 ~/.ssh/authorized_keys"
-
In the SpiderWare host,
5.a. Create the
recordings
andrecallings
folders under the Spiderware directory. Therecordings
andrecallings
folders should be present; otherwise, the calls to sshfs to mount these folders fail. See 7.The Spiderware directory should have the following structure: ├── spiderware ├── config ├── recordings ├── recallings
-
Create the recordings and recallings mount point folders under the VMS APP app directory.
Note: The mount point is relative to the recordingsFolder
defined in the configuration file.
See config_app.md. In the following example, the recordingsFolder
is set to public/recordings
.
For recordings:
Command: `mkdir <vms app folder>/public/recordings/<mount_point>`
Example: `mkdir -p /home/xyz/vmsapp/public/recordings/swmp1`
For recallings:
Command: `mkdir <vms app folder>/public/recordings/recallings/<mount_point>`
Example: `mkdir -p /home/xyz/vmsapp/public/recordings/recallings/swmp1`
-
Mount recordings and recallings folders using sshfs
Command: `sshfs <args> <user>@<host>:<folder> <mount_point>` Example: `sshfs -o allow_other,default_permissions,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 root@spiderware_host:/root/spiderware/recordings ./public/recordings/swmp1` (assuming current directory is /home/xyz/vmsapp)
-
To unmount the recordings and recalling folders, do:
- `umount <mount_point>, e.g., umount ./public/recordings/swmp1` - `umount <mount_point>, e.g., umount ./public/recordings/recallings/swmp1`
Notes:
-
The steps described above are applicable to both Linux and MacOS. However, to work under MacOS, sshfs requires osxfuse.
brew install osxfuse sshfs
-
To mount folders under Windows, use https://github.com/billziss-gh/sshfs-win.
3. Install VMS OVS
4. Install SpiderWare
To install SpiderWare, please refer to https://spiderdocs.evostream.com/index.html
Make sure to enter the correct VMS APP URL in the configuration file:
"events":
{
"sinks": [
{
"type": "sio",
"url": "https://vmsapp.evostream.com:3000/nsSpiderware" >VMS APP URL
}
]
}
Distribution Content
A. VMS APP
├── vmsp-app-linux
│ └── config
│ └── config.js
│ └── docs
│ ├── config_app.md
│ ├── mount_sw_rec_app.md
│ ├── prerequisites_app.md
│ └── README_app.md
│ └── logs (will be generated once the application run)
└ └── vma-app
B. VMS API
├── vmsp-api-linux
│ └── config
│ └── config.js
│ └── docs
│ ├── config_api.md
│ ├── prerequisites_api.md
│ └── README_api.md
│ └── logs (will be generated once the application run)
└ └── vms-api
B.1. VMS OVS
├── vmsp-ovs-linux
│ └── config
│ └── config.js
│ └── docs
│ ├── config_ovs.md
│ ├── prerequisites_ovs.md
│ └── README_ovs.md
│ └── logs (will be generated once the application run)
└ └── vms-ovs
###