2.7 KiB
+++ title = "Building from source" type = "docs" [menu.docs] parent = "installation" weight = 5 +++
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
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
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.