# HVAC Wiki

All things related to HVAC

### Sidebar

suppliers:hvac.io:vigilia:installation

This is an old revision of the document!

# Vigilia Server Installation

Requires a Viglia Server licence. To use the official HVAC.IO servers instead, jump to Vigilia - Recording a Project.

The installation is separated in 3 main components:

They can all be installed on the same machine, or on separate servers and devices, depending on your network architecture.

Once this is done, you might want to take a look at Adding Vigilia as a Service

## Database

For the time being, Vigilia only supports TokuMX. It is a fork of MongoDB, which features mind boggling increase in performance and reduction in the database size. (The choice was not made lightly; we tried many databases before settling with this one.)

TokuMX is supported on 64-bit Linux only, but a virtual image should work too.

We recommend to use SSD drives, as their increased speed directly translate in how fast Vigilia will react. 250 to 500 Go should be plenty of space to store many years of data for networks composed of hundreds of thousands of objects. (Tokumx compression is really useful for this!)

To install TokuMX, add the following PPA and enter the following in your shell :

 sudo apt install tokumx-enterprise

Once the database is installed, make sure everything works as intended by running the command mongo in the shell.

The command should be recognized AND it should connect successfully.

You can stop the process by pressing Ctrl-C in the shell.

## Vigilia Server

For maximum speed, we recommend you install the Vigilia server on the same machine as the database.

Vigilia server runs on Java, meaning it can work on Linux, Windows and Mac.

### Java

Make sure you have Java on your machine. (preferably 8 or higher)

To do so, open a command window and type

 java -version

You should see the current Java installed, if any:

### vigilia-server.jar

The entire Vigilia server is contained within a single .jar file.

This makes it surprisingly easy to update: just download the latest compiled version and overwrite the .jar file. (Your license and configurations are stored separately and will continue to work as expected.)

The application can be started with the following command:

 java -jar vigilia-server.jar <port number>

(where <port number> is the port you want to use. If you don't know which one to take, use 47900.)

After a few seconds, the server should be up and running. You can now take your browser and go to:

 http://localhost:<port number>

If Vigilia is able to connect to the database, you will be invited to create an account. The first account created will have the administrator rights.

You should see something similar to this:

#### Configure Service (optional)

If you want the application to start automatically when your server boot up, you should make sure to create a service (shown below), or configure your web server (like Tomcat) to use vigilia-server.jar.

#### Good to Go

Once your Vigilia server is up and running, you can follow the steps to record a BACnet network.

## Adding Vigilia as a Service

### (Upstart Users)

You might want to make sure the Vigilia server always starts as soon as the server boots, or that it restores itself in case of a crash.

For this, you'll have to add Vigilia as a service.

Start by creating a file named “vigilia.conf”.

Open it and paste the following:

vigilia.conf
description "Vigilia Server"
author "Christian Fortin, HVAC.IO"

start on runlevel [2345]
stop on runlevel [!2345]

#Respawn the process if it crashes
#If it respawns more than 10 times in 60 seconds stop
respawn
respawn limit 10 60

expect fork

#replace PATH-TO-THE-JAR with something like /home/hvacio/vigilia
#replace PORT with the desired port number
script
cd PATH-TO-THE-JAR
java -jar vigilia-server.jar PORT &
end script

Now, once you replaced PATH-TO-THE-JAR and PORT with their correct values, move the file to /etc/init:

sudo mv vigilia.conf /etc/init/vigilia.conf

That's it! Now reboot and Vigilia should start automatically.

## Troubleshooting

### Database Crash

If you database is becoming quite large (thousands of files in the dbpath), it's possible that your OS is going to refuse opening that much files simultaneously.

In Linux, you can change the number of allowed files by editing the file /etc/security/limits.conf and adding the following lines :

tokumx soft nofile 1000000
tokumx hard nofile 1000000