This is an old revision of the document!
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
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
(Alternatively, you can try to follow the official instructions on this page.)
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.
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.
Make sure you have Java on your machine. (preferably 8 or higher)
To do so, open a command window and type
You should see the current Java installed, if any:
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:
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.
Now that you have the administrator rights, you should load the license files. On the upper right, you should see your username. Click on it and go to Server Administration. Then click on License. Select the license files and click upload.
You should see something similar to this:
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.
Once your Vigilia server is up and running, you can follow the steps to record a BACnet network.
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:
description "Vigilia Server" author "Christian Fortin, HVAC.IO" start on runlevel  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.
To get more info about Upstart and services, see http://upstart.ubuntu.com/cookbook/.
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