Voila as a Public or Private server


You may use voila view as a server which can be hosted to display research results to collaborators or as a general reference. Voila has built in support for the high performance 'gunicorn' web server which was designed to handle real multi-user loads and retain good performance.

Setting up the server is very similar to the normal usage of 'voila view' with a few tweaks.

In a pinch, if you have root access, you may directly bind the gunicorn server to the main web serving port:

$ voila view -p 80 --host 0.0.0.0 --web-server gunicorn [rest of voila arguments]
            

However, this is less secure. It is generally recommended that you use a traditional web server such as apache or nginx in front of voila view. A good place to start for the nginx configuration is here. In this case, your arguments will look more like:

$ voila view -p 8000 --host 127.0.0.1 --web-server gunicorn [rest of voila arguments]
            

In either case, by default, voila will show the data to anyone who is able to acess the server. You can provide some security by generating a passcode (specific url) that users will need to visit in order to be able to view the data. You can accomplish this by running voila with the '--enable-passcode' command line switch. In this case, the passcode URL will show up in the terminal, and this URL can be shared with your desired user base so that your data is not easily seen by random port scanner tools.