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.
Building Grafana from source
This guide will help you create packages from source and get grafana up and running in dev environment. Grafana ships with its own required backend server; also completely open-source. It’s written in Go and has a full HTTP API.
Dependencies
Get Code
Create a directory for the project and set your path accordingly. Then download and install Grafana into your $GOPATH directory
export GOPATH=`pwd`
go get github.com/grafana/grafana
You may see an error such as: package github.com/grafana/grafana: no buildable Go source files
. This is just a warning, and you can proceed with the directions.
Building the backend
cd $GOPATH/src/github.com/grafana/grafana
go run build.go setup
go run build.go build # (or 'go build ./pkg/cmd/grafana-server')
Building on Windows
The Grafana backend includes Sqlite3 which requires GCC to compile. So in order to compile Grafana on windows you need to install GCC. We recommend TDM-GCC.
Build the Front-end Assets
To build less to css for the frontend you will need a recent version of node (v0.12.0), npm (v2.5.0) and grunt (v0.4.5). Run the following:
npm install -g yarn
yarn install --pure-lockfile
npm install -g grunt-cli
grunt
Recompile backend on source change
To rebuild on source change
go get github.com/Unknwon/bra
bra run
Running Grafana Locally
You can run a local instance of Grafana by running:
./bin/grafana-server
If you built the binary with go run build.go build
, run ./bin/grafana-server
If you built it with go build .
, run ./grafana
Open grafana in your browser (default http://localhost:3000) and login with admin user (default user/pass = admin/admin).
Developing for Grafana
To add features, customize your config, etc, you’ll need to rebuild on source change.
go get github.com/Unknwon/bra
bra run
You’ll also need to run grunt watch
to watch for changes to the front-end.
Creating optimized release packages
This step builds linux packages and requires that fpm is installed. Install fpm via gem install fpm
.
go run build.go build package
Dev config
Create a custom.ini in the conf directory to override default configuration options. You only need to add the options you want to override. Config files are applied in the order of:
- grafana.ini
- custom.ini
Learn more about Grafana config options in the Configuration section
Create a pull requests
Please contribute to the Grafana project and submit a pull request! Build new features, write or update documentation, fix bugs and generally make Grafana even more awesome.