Veracity Learning Lite is an easy to use, powerful alternative to cloud hosted services. Best of all, it's free! Download Veracity Learning Lite Download

Veracity Learning Lite Versions

All versions of Veracity Learning can run on any operating system. The download above includes executables for the most common (Windows, Linux and MacOS). Setup and install instructions are identical for each. Contact us for builds for other platforms.


We're working hard to make Veracity Learning the easiest LRS in the world. Our install process is simple as can be - unzip and run. You will need to set up the MongoDB database seperately.

The local version of Veracity Learning is packaged as a single executable file - it has no dependencies other than the database. You may optionally include a few HTML files in specific directories to customize the homepage, but these files are optional and may be omitted. (Enterprise Version)

Setup Steps

  1. Install MongoDB
  2. Start MongoDB. MongoDB must be running before the Veracity Learning server can be configured
  3. Unzip the zip file for your operating system
  4. Locate the executable file. This file will be name “lrs2-” followed by a string representing your operating system.
  5. Using a command prompt (or terminal), run the file with " --configure". This will begin the setup process.
  6. Answer the questions as presented by typing into the console and pressing enter. Be sure to answer ‘yes’ to the final question. This will write out a file, ‘env’ that will contain your configuration settings. You may manually edit this file and restart the server to update the configuration.
  7. Run the executable again. The server will start up and begin serving requests on the port you specified. You may now log in as the super admin, and create users (Enterprise Version) and LRSs.

Explanation of Configuration Prompts

If the server cannot locate a .env configuration file, it will prompt you with questions and create one. After the file is created, the server will stop and you must restart it. Below is an explanation of each question and its impact.

Enter the connection string to the MongoDB database. (default: 'mongodb://localhost')

This is the address of the MongoDB server. Do not include a database name in the connection string. You may include replicaSet or authorization options (Enterprise Version). Check the Mongo documentation for a full accounting of the format. For simple test installs, if Mongo is running on the same machine as the server, the default will work. The server tests the string after you enter it - Mongo must be running at this point.

Enter the name of the database to use for the system client information. User and LRS metadata is stored here, not the actual statements. (default: 'VTCLRS')

The system allocates a new database on the Mongo Server for each LRS in the system. The data needed to manage the systems overall is located in the database provided in this prompt. You can answer any alphanumeric string, but it is rarely necessary to use anything other than the default.

Will you use ElasticSearch for advanced analytics

If your data set gets into the hundreds of thousands of statements, you might want to use ElasticSearch to accelerate the analytics system. This can be set up after the fact, once your data size grows. You'll need ElasticSearch version 6.6 or 6.4.

Enter the connection string to the ElasticSearch server

The connection string to ElasticSearch (default http://localhost:9200)

What is the external host name (DNS) that users will use to access this system? (default: 'local.veracity.it')

The server must know its own public facing internet address. In production deployments, it is common for the address and port that the software uses to differ from the one displayed to users, because of proxy configuration, load balancers or DNS. For a local install, please accept the default. This default value is a DNS entry controlled by Veracity that resolves to ‘localhost’. Do not enter ‘localhost’ directly, as our subdomain routing features may not work on all OSs.

What port number should the server run on? (default: '80')

This is the local port that the server actually listens on. Port 80 is the default for common web servers, but often is in use by other software. You may choose any port. On some OSs, certain ports require the process to be run with administrative access.

What is the port number that external users will use to access this system…

This is the port that will be displayed to users. If behind a proxy, use the port the proxy listens on. For a local test install, use the same port as the previous question.

Does your webserver use an SSL certificate?

Is the server behind an SSL terminating proxy? Note that Veracity Learning does not currently support SSL configuration natively, and should be placed behind a proxy with SSL support like NGinx or Apache. For a local install, answer ‘no’.

Would you like to setup the super-admin user.

Answer this on the first install. You'll be asked to provide an email address and password.

Enter the email address for the super-administrator user. This account must not already exist, as it will be created now.

This question and the following control the super admin login credentials. Note that this information is visible in the .env file. If you choose an existing user account, that account will become the super admin, replacing the old one.

Enter the password for the super-admin user. Leave it blank to keep the existing password.

You can either leave the admin password blank to keep the existing one, or reset it to a new one. There is no way to recover a lost super admin password, but you can reset it.

Would you like to disable subdomains in the URLs for each hosted LRS?

The default behavior of the system is to allocate subdomains to each LRS in the system. This can cause problems with some DNS providers, and is not supported for the hostname ‘localhost’. You may disable this behavior, but it is highly discouraged. For local installs, use local.veracity.it as the public address, which will resolve to your local machine properly. Not all features currently support ‘non-subdomain’ installs.

Enter a random string of characters that will be used as an encryption key. (default: 'youAbsolutelyMustChangeThis')

Several parts of the system require a unique random string for encryption functions. Enter a string here. In a multi server install, all servers must include the same string. When backing up and restoring a database, this setting must not have changed from the initial value provided at install. Please don’t accept the default for a production deployment.

Would you like the server to send emails (Enterprise Version)

Answering ‘yes’ to this question will then prompt you for SMTP configuration information. If you answer ‘no’, the server will not allow “self service” accounts, and instead each user must be created and confirmed by the super admin.


Veracity can help you get set up and running, or customize the software to your requirements. Contact us any time with questions or bug reports. For larger installations, you may want to consider purchasing a support plan.