|
|
|
@ -4,33 +4,67 @@ page_description: Building from source Grafana. |
|
|
|
|
page_keywords: grafana, build, contribute, documentation |
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
# Building from source |
|
|
|
|
# Building Grafana from source |
|
|
|
|
|
|
|
|
|
If you have any idea for an improvement or found a bug do not hesitate to open an issue. |
|
|
|
|
And if you have time clone [the grafana repository](https://github.com/grafana/grafana) and submit a pull request and help me make Grafana |
|
|
|
|
the kickass metrics & devops dashboard we all dream about! |
|
|
|
|
Guide for creating packages from source, and for getting grafana up and running in |
|
|
|
|
dev environment. |
|
|
|
|
|
|
|
|
|
Grafana uses nodejs and grunt as a build system for javascript, less compilation, and unit tests. |
|
|
|
|
## Dependencies |
|
|
|
|
|
|
|
|
|
## Get started |
|
|
|
|
- Go 1.4 |
|
|
|
|
- NodeJS |
|
|
|
|
|
|
|
|
|
- Install nodejs. |
|
|
|
|
- npm install -g grunt-cli |
|
|
|
|
- npm install (in grafana repository root) |
|
|
|
|
|
|
|
|
|
### run development server |
|
|
|
|
## Get Code |
|
|
|
|
|
|
|
|
|
- grunt server |
|
|
|
|
``` |
|
|
|
|
go get github.com/grafana/grafana |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### run less & jshint checks |
|
|
|
|
- grunt |
|
|
|
|
The above will give an error saying there is no go code. That is because the new backend parts are in the develop branch. |
|
|
|
|
|
|
|
|
|
### run unit tests |
|
|
|
|
- grunt test |
|
|
|
|
## Building the backend |
|
|
|
|
``` |
|
|
|
|
cd $GOPATH/src/github.com/grafana/grafana |
|
|
|
|
git checkout -t origin/develop |
|
|
|
|
go run build.go setup (only needed once to install godep) |
|
|
|
|
godep restore (will pull down all golang lib dependecies in your current GOPATH) |
|
|
|
|
go build . |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### create optimized, minified build |
|
|
|
|
- grunt build (or grunt release to get zip/tar files) |
|
|
|
|
## Building frontend assets |
|
|
|
|
|
|
|
|
|
To build less to css for the frontend you will need a recent version of 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 (requires that you executed godep restore) |
|
|
|
|
``` |
|
|
|
|
go get github.com/Unknwon/bra |
|
|
|
|
bra run |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
## Running |
|
|
|
|
``` |
|
|
|
|
./bin/grafana web |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Open grafana in your browser (default http://localhost:3000) and login with admin user (default user/pass = admin/admin). |
|
|
|
|
|
|
|
|
|
## 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: |
|
|
|
|
|
|
|
|
|
1. grafana.ini |
|
|
|
|
2. dev.ini (if found) |
|
|
|
|
3. custom.ini |
|
|
|
|
|
|
|
|
|
## Create a pull requests |
|
|
|
|
|
|
|
|
|