Veracity Learning Lite is an easy to use, powerful alternative to cloud hosted services. Best of all, it's free! Download Veracity Learning Lite 1.7 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.

Changes in 1.7

The major focus in this cycle is better integration of ElasticSearch. Adding support to accelerate queries with ElasticSearch, while being able to fall back on MongoDB if necessary, required us to develop an entirely new representation for queries and processing. We're tentatively calling this Veracity Query Language (VQL), and you can try it here..

The language design goals include:

  • Offering a simpler way to support more common operations than just the MongoDB aggregation language.
  • Including operations specifically relevant to xAPI (rather than a generic database language).
  • Merging graphing configuration with data query and analysis.
  • Switching between different database and processing technologies, using the system best for a given task. Our implementation can use ElasticSearch, JavaScript and MongoDB, sometimes within the same query!
  • Allowing the chaining of queries, such that the results of one query can inform the next query.
  • Separating data search and filtering from the data processing stages.

Version 1.7 uses VQL under the hood to drive all its dashboards. This allows us to more seamlessly integrate ElasticSearch acceleration where necessary, while also reducing a lot of complex code to some simple expressions. We're so excited about how VQL has changed the product under-the-hood that we're also exposing it to end clients via the API and UI.

We've also changed the way that dashboards and analytics processors interact. Now, when a dashboard requests a specific processor configuration that request is not routed through the client software. This significantly improves the security of embedded dashboards.

New Features

We're adding a great new visualization builder tool which is backed by VQL. This tool Lets you use a simple GUI to build a large set of custom graphs. This tool fully supports xAPI extensions, even when those extensions contain complex objects or arrays. This tool replaces many of the older analytics processors, because it's powerful enough to do the job that used to be handled by several different utilities.

We're also making it easier to skin the LRS to add your own styles, logos and text.

Breaking changes

Existing links to embedded graphs and dashboards will no longer work. You'll need to use the link icon to get new dashboard and graph links. You can simply forget the old ones.

The new Lite version imposes restrictions on the number of custom dashboard each LRS can contain, and the number of widgets on each dashboard.

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), execute the file. 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.

Will you use a Redis server to enforce rate limiting? (type 'yes' or 'no')

This question and the following question (the address of the Redis server) control whether or not some Enterprise features are enabled. These features include rate limiting and Websocket notifications. They are completely optional. Answer ‘no’ for test installs. If you answer yes, the following question will prompt you for the server address. Redis must be running, as the system verifies that it can connect.

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’.

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.

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 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.

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.