Viakoo OnPremises Jumpstart Checklist

Viakoo OnPremises JumpStart CheckList

(March 2021)

This document is for Viakoo OnPremise (VOP) Customers who are preparing their environments to be ready for the JumpStart installation. Treat this as a checklist to make sure you are ready as well as a communication tool for your Viakoo Professional to facilitate installation. 

This provides a thumbnail understanding of the process and setup for Viakoo OnPremises. A more detailed specification of servers for medium to large configurations, refer to the Viakoo OnPremises Best Practices Guide.


This document is laid out in terms of Hardware, Software, Network and then Virtual Environment configuration.


Viakoo OnPremises is a packaged version of the Viakoo Cloud service to run within your own infrastructure. It is designed to be installed on a virtualized cluster of servers running VmWare ESX virtualization software. Within, there are several virtual machines running different components of the service.


Platform Software used in these components are as follows:

  1. OS stack for each VM is the latest CentOS 7.x at the time of VOP packaging.
  2. Database server is running the latest PostgresDB 11.x at the time of VOP packaging.

Preparation Checklist

Before activation, fill out the Viakoo OnPrem Checklist. Please make sure you have the following setup prepared:


Refer to the Viakoo OnPremises Best Practices Guide to get hardware sizing and configuration.

Critical IP Addresses:

  1. Allocate four static IPv4 or IPv6 addresses, depending on your network configuration, for the four virtual machines. These four addresses should be all on the same network, which should be reachable from your video surveillance system 

Use / subnet suffix notation for IPv6

NOTE:  we highly recommended that you create host names for these IP addresses within your DNS server that is reachable by this network. This will greatly simplify setup, will allow SSL to work properly if you purchase a certificate for your servers,  and will allow for things like round-robin DNS load-balancing if/when needed. 



IP Address

DNS Hostname(optional)










2) Identify the netmask or subnet suffix or the above network.

  • Netmask ____________________


3) Identify the following IP addresses:

    1. gateway ____________________
    2. Nameserver 1   ____________________  -- first Domain Name Server, if exists, or address of puppetmaster
    3. Nameserver 2   _____._____._____._____ (optional) -- second Domain Name Server, if it exists.

4) Identify the Web proxy if required to access web resources on the Internet, and the email relay server if required to send email via the Internet (if using proxy, these are configured per-customer):

    1. Web proxy _________________________________
    2. EMail Server        ________________________________  (optional)
    3. EMail Port             _____________ (Required if Mail Server specified)
    4. EMail User           _________________________________ (optional)
    5. EMail Password _________________________________ (optional) 

Locate SSL certificate for your installation (optional)

Viakoo allows you to install a single SSL certificate into your environment. This must be in combined PEM format, starting with the private key, then the public certificate, then all intermediate certificates needed by your web browsers in your environment. 

Note: Certificates must have the same host names in it (or be a star certificate) as configured in your DNS for the API and GUI servers above. 

Pre-Configuring the Virtual Environment:

To make activation go more efficiently, perform the following setup in your ESXi environment:

  1. Via the vSphere GUI Client, deploy ViakooOnPrem.ova to the following virtual machines (but do not start the virtual machines yet):
    1. VOPpm -- the puppetmaster
    2. VOPapi -- the API / reader server
    3. VOPgui -- the GUI instance
    4. VOPdbms -- the database instance.
  2. Configure VOPpm settings by clicking “VOPpm” in the VM list then “Edit Settings” under Commands:
    1. Change memory to 1GB
    2. Change CPUs to 2
  3. Add virtual SCSI storage devices for the database instance by clicking “VOPdbms” then “Edit Settings”  from vSphere and adding these additional virtual SCSI devices:
    1. 50GB -- main (these are RAID striped so should be on different volume sets if possible)
    2. 50GB -- main
    3. 300GB to 500GB -- backups / saved JSON blobs / catalogs (performance not critical, spinning storage is fine).
    4. 100GB to 500GB -- tablespace 1  -- initial location of onpremise1 database.
    5. 100GB to 500GB -- tablespace 2  -- used for future pg_repack etc. as needed.

Note: you will need roughly 300 IOPS for every 1000 cameras of reporting infrastructure.

Also Note: API servers are best with the default ESXi configuration. No changes needed.


  1. Configure GUI Server by clicking “VOPgui” then “Edit Settings”:
    1. Memory -- change to 1 GB.
    2. CPUs -- change to 2 CPUs.

Connection for Viakoo OnPremises Activation Service

Setup TeamViewer or WebEx session with your Viakoo Service Personnel.


ViakooProxy VM Setup (if needed)

Some customer environments may not have DNS or access to Email services from their camera networks. For these customers, it is possible to leverage Viakoo services in the public cloud to provide these capabilities. To do this, you will need to set up a proxy server on an additional virtual machine (ViakooProxy VM).

Setting up ViakooProxy VM

Create another VM and enable 2 networks, one that has access to camera network with Viakoo OnPremises Cloud and one that has access to DNS and email services.

Viakoo OnPremises Activation Service will help you set it up.

Inform your Viakoo service technician whether you need Viakoo DNS and/or Viakoo Email (SMTP) services. 

Revision History:

  • December 2019 - Added information about configuring for IPv6 and SSL Support
  • November 2019 - Infrastructure Sizing is now in Best Practices Guide
  • September 2018 - Additional details on sizing
  • April 2018 - Updates to hardware sizing, email and DNS requirements
  • Feb 2018 - Incorporated historic sizing guidelines
  • May 2017 - Improvements based on user feedback
  • October 2016 - First Published
Have more questions? Submit a request