Skip to content

Accedian/grafana-docker

 
 

Repository files navigation

Grafana Docker image

CircleCI

This project builds a Docker image with the latest master build of Grafana.

Important Notes

If you've modified any of the dashboards that come with packged in this repository, make sure to save them as copies of the originals. If you don't do this, you will lose your changes when you redeploy.

Running your Grafana container

Start your container binding the external port 3000.

docker run -d --name=grafana -p 3000:3000 grafana/grafana

Try it out, default admin user is admin/admin.

In case port 3000 is closed for external clients or you there is no access to the browser - you may test it by issuing: curl -i localhost:3000/login Make sure that you are getting "...200 OK" in response. After that continue testing by modifying your client request to grafana.

Configuring your Grafana container

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

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.

More information in the grafana configuration documentation: http://docs.grafana.org/installation/configuration/

Grafana container with persistent storage (recommended)

# create /var/lib/grafana as persistent volume storage
docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest

# start grafana
docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  --volumes-from grafana-storage \
  grafana/grafana

Installing plugins for Grafana 3

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

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

Running specific version of Grafana

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

Configuring AWS credentials for CloudWatch support

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

Changelog

v4.2.0

  • Plugins are now installed into ${GF_PATHS_PLUGINS}
  • Building the container now requires a full url to the deb package instead of just version
  • Fixes bug caused by installing multiple plugins

v4.0.0-beta2

  • Plugins dir (/var/lib/grafana/plugins) is no longer a separate volume

v3.1.1

Packages

No packages published

Languages

  • Shell 56.4%
  • Dockerfile 30.6%
  • Makefile 13.0%