User Guide Getting Started Help Center Documentation Community Training
Installing the Looker Application

This page describes how to install the Looker application for a customer-hosted deployment.

Hosting the Looker application is independent of where your data resides; data always remains in-database, and is not copied to the Looker instance.

Server Specifications

Install the Looker application on a dedicated machine that meets the following minimum requirements:

In order to avoid maintenance and resource conflicts, you should not use the Looker server to host other applications.

Enable ntpd or chronyd

NTP stands for Network Time Protocol. It enables your host’s system clock to always maintain the correct time, which is important for Looker to function correctly. Looker does not require any particular time synchronization software be used as long as times remain in sync. It is NOT necessary to run an NTP server; only the NTP client is needed. You may substitute chronyd for NTP.

Consult your OS vendor’s documentation for information on enabling ntpd or chronyd.

Install the Looker Application

  1. Create group looker.

    sudo groupadd looker
  2. Create user looker and its home directory.

    sudo useradd -m  -g looker  looker
  3. Switch to the looker user; do not run Looker as root.

    sudo su - looker
  4. Create looker subdirectory in the home directory.

    mkdir ~/looker
  5. Change to the looker subdirectory.

    cd ~/looker
  6. Make sure you are in the correct directory.


    If your user directories are under /home, the output of this command should be /home/looker/looker.

  7. Download the desired Looker JAR file through one of the methods on this documentation page.

  8. Download the latest startup script at this GitHub repo.

  9. Move the startup script (named looker) and Looker JAR file (named looker-x.x.x.jar where x.x.x is the version number) to the new ~/looker directory.

  10. Rename looker-x.x.x.jar to looker.jar.

  11. As of December 2015, the startup script has been altered to automatically determine how much java memory to allocate to Looker. If you would like to customize this value manually, see Recommended Java Memory Settings for more information.

  12. Make the Looker startup script executable (set the permissions to 0750).

    chmod 0750 looker
  13. Start the Looker process from shell as the looker user.

    ./looker start
  14. For startup flag help, use:

    java -jar looker.jar --help

    Or, for startup command help, use:

    java -jar looker.jar help
  15. Open a browser to https://hostname:9999 where hostname is the DNS name of the host running Looker.

    You should use https in the URL, which will create a security warning that you will need to bypass. This warning will persist until a valid SSL certificate is installed on the server.

  16. Enter the license key obtained from your Looker representative.

  17. Enter a Name, Email, and Password to create your first account.

Create a DNS Record

Add a looker.[yourdomain].com DNS record for the server. This step is optional, but recommended.

Create a Git Repository

Looker stores data modeling files in a Git repository for version control. In order for data modelers to deploy their work to Production, you must connect the Looker application to a repository. You can choose one of the following options:

Deploying Looker Automatically

Looker may be deployed using a configuration management tool such as Ansible or Chef. An example Ansible role for automated deployment is available on this documentation page.

Hypervisor Tuning

Looker runs as a Java virtual machine. If your Looker instance is on a VMware guest, you may need to do some performance tuning. Please see the VMware Java best practices guide.

On other virtualization platforms, it may improve performance to reserve the Looker host’s memory from the hypervisor. This is not controllable on Amazon EC2, but for other vendors, please consult their documentation.

Next Step

After you have installed Looker, you’re ready to configure Looker startup options.