Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Enterprise Open source

Installing using Docker

Grafana is very easy to install and run using the official docker container.

bash
$ docker run -d -p 3000:3000 grafana/grafana

All Grafana configuration settings can be defined using environment variables, this is especially useful when using the above container.

Docker volumes & ENV config

The Docker container exposes two volumes, the sqlite3 database in the folder /var/lib/grafana and configuration files is in /etc/grafana/ folder. You can map these volumes to host folders when you start the container:

bash
$ docker run -d -p 3000:3000 \
    -v /var/lib/grafana:/var/lib/grafana \
    -e "GF_SECURITY_ADMIN_PASSWORD=secret" \
    grafana/grafana

In the above example I map the data folder and sets a configuration option via an ENV instruction.

See the docker volumes documentation if you want to create a volume to use with the Grafana docker image instead of a bind mount (binding to a directory in the host system).

Configuration

All options defined in conf/grafana.ini can be overridden using environment variables by using the syntax GF_<SectionName>_<KeyName>. For example:

bash
$ docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  -e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
  -e "GF_SECURITY_ADMIN_PASSWORD=secret" \
  grafana/grafana

You can use your own grafana.ini file by using environment variable GF_PATHS_CONFIG.

The back-end web server has a number of configuration options. Go to the Configuration page for details on all those options.

Installing Plugins for Grafana

Pass the plugins you want installed to docker with the GF_INSTALL_PLUGINS environment variable as a comma separated list. This will pass each plugin name to grafana-cli plugins install ${plugin}.

bash
docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
  grafana/grafana

Running a Specific Version of Grafana

bash
# specify right tag, e.g. 4.5.2 - see Docker Hub for available tags
$ docker run \
  -d \
  -p 3000:3000 \
  --name grafana \
  grafana/grafana:5.0.2

Configuring AWS Credentials for CloudWatch Support

bash
$ docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  -e "GF_AWS_PROFILES=default" \
  -e "GF_AWS_default_ACCESS_KEY_ID=YOUR_ACCESS_KEY" \
  -e "GF_AWS_default_SECRET_ACCESS_KEY=YOUR_SECRET_KEY" \
  -e "GF_AWS_default_REGION=us-east-1" \
  grafana/grafana

You may also specify multiple profiles to GF_AWS_PROFILES (e.g. GF_AWS_PROFILES=default another).

Supported variables:

  • GF_AWS_${profile}_ACCESS_KEY_ID: AWS access key ID (required).
  • GF_AWS_${profile}_SECRET_ACCESS_KEY: AWS secret access key (required).
  • GF_AWS_${profile}_REGION: AWS region (optional).