|
@@ -4,33 +4,67 @@ page_description: Building from source Grafana.
|
|
|
page_keywords: grafana, build, contribute, documentation
|
|
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
|
|
## Create a pull requests
|
|
|
|
|
|