Use a prebuilt server

This is the easiest way to get started, and there are a couple options depending on your use case.


There is a publicly accessible server running at The server is available to anyone for basic usage and testing. Your data is obscured by randomized identifiers so nobody will have access unless you explicity give them the link.

The major caveat of using the public server is that you won't be able to manage and customize the visualization types. Also, as this is a free, public service, we make no guarentees regarding the permanence of your visualizations.

Standalone app

The standalone app is the easiest way to use Lightning locally. Just download the appropriate application for your platform from the release page. To then install on Mac OS X, open the .dmg file and drag the Lightning application into your Applications folder.

When you open the app, the Lightning server will launch in the background at http://localhost:3000, and you should see this iconin your menu bar.

Clicking this icon will open a tray with buttons to open the server, or shut it down.

Similar to running your own local server with node (see below) the local app is a great way to get to know Lightning and use it for local data visualization. You have full control over the server, including installing custom visualizations (see instructions). The only limitation is that you cannot send visualization links to anyone outside your local network.

Deploy your own server

Deploying your own Lightning server gives you maximum control and flexibility, and there are many ways to do it.


Hosting a server on Heroku is free and easy, but you must have a Heroku account (Sign up for one here). Once you have an account, just click this “deploy to Heroku button” (also found on the project README on GitHub):


The default options are fine for quick testing, but others are available for advanced usage:

  • If these values are provided, lightning will run behind HTTP basic authentication with the provided username and password. Note that public links (for sessions, or individual visualizations) can be shared and are accessible without credentials.

  • If these values are provided lightning will use s3 to store user uploaded images. Note that because of Heroku restrictions if these are not provided, user uploaded images will periodically be deleted.

You may also want to upgrade to Heroku's paid-tier for improved performance.


Running Lightning via the official Docker image is an easy way to start a server if you don't want to install node.

We assume here you have already installed Docker for your system. If you are getting started on OS X, the Docker toolbox is the first thing to checkout.

Once docker is running, call

docker run -i -t -p 3000:3000 lightningviz/lightning:latest

That will pull the latest version of the official Lightning server start it running on port 3000. If you instead want to run a particular tagged version, use

docker run -i -t -p 3000:3000 lightningviz/lightning:tag

Once the server is running, navigate to either localhost:3000 (on Linux) or hostname:30000 (on Mac OS X), where hostname is the IP addresses of your virtual machine, obtained using

docker-machine ip my-vm-name

To generate visualizations from a client, just use that address as the host.

You might also want to try Kitematic on OS X which provides a GUI for running Docker images. Running Lightning through Kitematic is easy, just search for the lightningviz/lightning image, start it, and you should see it running

click the button under "Web Preview" to open the Lightning server in a web browser, and see the hostname.


You can also run your own server just using node and npm. First, download node here, or use a version manager such as nvm (recommended). Then, you can either install and run an executable

$ npm install -g lightning-server
$ lightning-server

This should start a server at http://localhost:3000. For more advanced usage options see this page.