<< Click to Display Table of Contents >> Server and client installation > Technical details |
General
This chapter contains general information about servers, data encryption and other technical details related to data transfer and storage.
RAM: 32 MB for installation + 1 МB additionally for each Virola user
Disk space: 2 MB for each Virola user + the total volume of all attachments
All data is protected during the transfer by public-key cryptography and SSL. The security certificate for self hosted Virola can be defined by a user. If it is not defined, it is generated automatically on a server when it is launched.
For voice chats symmetric-key encryption AES is used. The keys are generated on the server when it is running and are renewed within specific time period. The keys are stored in RAM only while the server is running.
File of the Android app is uploaded to Google Play as Android Application Bundle, then it is converted to APK file by Google. An example of checking APK file for viruses: https://www.virustotal.com/gui/file/c3e664edbe833c8fee06167a98d810bbf5cd5a56e1b1f556ee620004db0ec1b5
run Virola Server with --help or -? or -h parameter to get help on Virola Server command line usage.
Example:
./virola_server_app.exe --help
You can run Virola Server with your own SSL certificate / Private key pair.
Example:
virola_server_app.exe --listen-host 127.0.0.1 --listen-port 7777 --database-dir ./storage --use-ssl --ssl-certificate ./cert.pem --ssl-private-key ./key.pem --ssl-private-key-password QWERTY
For detailed information please use Virola Server command line options help.
Audio in Virola uses UDP protocol. You need to open UDP for the port on which Virola server is running.
All data is stored on your server, thus you can do whatever you need with the folder where the data is stored. You can just set the path to it or copy it to a new machine.
There should not be any data losses if you upgrade your server. However, before you do anything on your server, we recommend making a back up of your data.
To run Virola as a daemon on Ubuntu and Debian server you need to do the following:
1.Create user virola
2.Create file virola-server.service in /etc/systemd/system directory
3.Add the following to the file:
[Unit]
Description=Virola chat server
[Service]
WorkingDirectory=/home/virola
User=virola
ExecStart=/usr/bin/virola-server --listen HOST:PORT --storage-dir ./
StandardOutput=append:/home/virola/virola-server.log
StandardError=append:/home/virola/virola-server.log
Restart=on-failure
ExecStartPost=/bin/sh -c 'umask 022; pgrep -f virola-server > /home/virola/virola-server.pid'
[Install]
WantedBy=multi-user.target
where
•HOST is the IP you've chosen for the Virola server
•PORT is the port you've chosen for the Virola server
4.Execute the following commands
sudo systemctl daemon-reload
sudo systemctl start virola-server
sudo systemctl enable virola-server
At present messages logs are stored on the server in the database the path to which a user provides as an argument in --storage-d. They are also stored locally in the database of Virola client in C:\Users\USERNAME\AppData\Roaming\Virola\. In this database are stored only logs of the messages from those chat-rooms the user has access to.
The database should be stored in a different folder. The directory C:\Program Files (x86)\Virola\Server is read only and data cannot be stored there.
Messages are stored unencrypted on a server. However, you can store the database on an encrypted server to keep messages encrypted.
We plan to have end-to-end encryption in the near future, however, many enterprise features such as issue tracking will not work with end-to-end encryption. On the other hand, self-hosted server is a pretty secure solution compared to a third-party cloud, even if they promise end-to-end encryption.
For the removed user. The group chat-room with its conversation history disappears immediately if the user is logged into Virola client. If the user is offline, the room will disappear as soon as the user logs into the Virola client. However, if the user is added to the group chat-room again, all the chat history will be restored for him/her.
For other room participants. Nothing will change. Regardless whether the user was removed from the room or deactivated at all, all his/her messages and transferred files will be kept intact.
Proxy for the Virola client can be configured on the Options / Proxy Settings tab.
Virola server automatically checks the link https://virola.io/check-license and passes the license details and server version to check the license.