diff --git a/README.md b/README.md index 82af95a..c601c32 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,13 @@ $ cd tig-stack $ docker-compose -f docker-compose-circleci.yml up -d ``` +If you don't need to install any Grafana plugins use `docker-compose-noplugins.yml` +```bash +$ git clone https://github.com/matisku/tig-stack.git +$ cd tig-stack +$ docker-compose -f docker-compose-noplugins.yml up -d +``` + ## Additional Info * By default Grafana will have all available plugins installed. * To access grafana go to: `http://localhost:30001` @@ -40,7 +47,7 @@ $ docker-compose -f docker-compose-circleci.yml up -d `GF_AUTH_ANONYMOUS_ORG_NAME` - Anonymus defaul Org Name. Default: `grafana` `GF_DASHBOARDS_JSON_ENABLED` - Dashboards as JSON enabled. Default: `"true"` `GF_DASHBOARDS_JSON_PATH` - Path where JSON Dashboards are stored. Default: `/opt/grafana` - +`GRAFANA_PLUGINS_ENABLED` - Install all available Grafana Plugins. Default: `true` ### InfluxDB `INFLUX_DATABASE` - IndluxDB Database Name. Default: `"telegraf"` diff --git a/docker-compose-circleci.yml b/docker-compose-circleci.yml index 3630486..6da0bf2 100644 --- a/docker-compose-circleci.yml +++ b/docker-compose-circleci.yml @@ -14,6 +14,7 @@ grafana: GF_AUTH_ANONYMOUS_ORG_NAME: grafana GF_DASHBOARDS_JSON_ENABLED: "true" GF_DASHBOARDS_JSON_PATH: /opt/grafana + GRAFANA_PLUGINS_ENABLED: "true" volumes_from: - grafana-data diff --git a/docker-compose-noplugins.yml b/docker-compose-noplugins.yml new file mode 100644 index 0000000..87959c8 --- /dev/null +++ b/docker-compose-noplugins.yml @@ -0,0 +1,59 @@ +grafana: + build: grafana + ports: + - 3001:3000 + links: + - influxdb:influxdb + environment: + GF_SECURITY_ADMIN_USER: admin + GF_SECURITY_ADMIN_PASSWORD: admin + GF_SECURITY_SECRET_KEY: grafana + GF_USERS_ALLOW_SIGN_UP: "true" + GF_USERS_ALLOW_ORG_CREATE: "true" + GF_AUTH_ANONYMOUS_ENABLED: "true" + GF_AUTH_ANONYMOUS_ORG_NAME: grafana + GF_DASHBOARDS_JSON_ENABLED: "true" + GF_DASHBOARDS_JSON_PATH: /opt/grafana + GRAFANA_PLUGINS_ENABLED: "false" + volumes_from: + - grafana-data + +grafana-data: + image: busybox + tty: true + volumes: + - /var/lib/grafana + - /var/log/grafana + - /var/lib/grafana/plugins + +influxdb: + build: influxdb + ports: + - 8083:8083 + - 8086:8086 + environment: + INFLUX_DATABASE: "telegraf" + INLFUX_ADMIN_USER: "grafana" + INFLUX_ADMIN_PASS: "grafana" + volumes_from: + - influxdb-data + +influxdb-data: + image: busybox + tty: true + volumes: + - /var/lib/influxdb + +telegraf: + build: telegraf + links: + - influxdb:influxdb + environment: + HOST_NAME: "telegraf" + INFLUXDB_HOST: "influxdb" + INFLUXDB_PORT: "8086" + DATABASE: "telegraf" + tty: true + volumes: + - /var/run/docker.sock:/var/run/docker.sock + privileged: true diff --git a/grafana/Dockerfile b/grafana/Dockerfile index ecce5d3..163bb76 100644 --- a/grafana/Dockerfile +++ b/grafana/Dockerfile @@ -1,6 +1,6 @@ FROM grafana/grafana:latest MAINTAINER Mateusz Trojak -LABEL version="1.1" +LABEL version="1.2" LABEL description="Grafana docker image with custom setup" USER root diff --git a/grafana/run.sh b/grafana/run.sh index 5524ab5..1aa935a 100644 --- a/grafana/run.sh +++ b/grafana/run.sh @@ -9,16 +9,19 @@ chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_LOGS" chown -R grafana:grafana /etc/grafana # Install all available plugins -GRAFANA_PLUGINS=`grafana-cli plugins list-remote | awk '{print $2}'| grep "-"` -for plugin in ${GRAFANA_PLUGINS}; -do - if [ ! -d ${GF_PATHS_PLUGINS}/$plugin ] - then - grafana-cli plugins install $plugin || true; - else - echo "Plugin $plugin already installed" - fi -done +if [ "${GRAFANA_PLUGINS_ENABLED}" != "false" ] +then + GRAFANA_PLUGINS=`grafana-cli plugins list-remote | awk '{print $2}'| grep "-"` + for plugin in ${GRAFANA_PLUGINS}; + do + if [ ! -d ${GF_PATHS_PLUGINS}/$plugin ] + then + grafana-cli plugins install $plugin || true; + else + echo "Plugin $plugin already installed" + fi + done +fi # Start grafana with gosu exec gosu grafana /usr/share/grafana/bin/grafana-server \