From 2e99315fbcbdaa9ed3b40dfb32cc5aa118c6cebc Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:33:58 +0100 Subject: [PATCH 1/8] chore(Grafana) Upgrade to 8.2.5 https://github.com/grafana/grafana/releases/tag/v8.2.5 --- grafana/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index 4e16751..f538569 100644 --- a/grafana/docker-compose.yml +++ b/grafana/docker-compose.yml @@ -12,7 +12,7 @@ volumes: services: grafana: container_name: ${GRAFANA_CONTAINER_NAME:-grafana} - image: ${GRAFANA_IMAGE:-grafana/grafana:8.2.2} + image: ${GRAFANA_IMAGE:-grafana/grafana:8.2.5} restart: always volumes: - grafana:/var/lib/grafana From f45b6eb13facc157909c49e4206523e7a28cbed5 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:36:03 +0100 Subject: [PATCH 2/8] feat(Grafana): Splite traefik configuration --- grafana/docker-compose.traefik.yml | 13 +++++++++++++ grafana/docker-compose.yml | 11 +---------- 2 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 grafana/docker-compose.traefik.yml diff --git a/grafana/docker-compose.traefik.yml b/grafana/docker-compose.traefik.yml new file mode 100644 index 0000000..35b694e --- /dev/null +++ b/grafana/docker-compose.traefik.yml @@ -0,0 +1,13 @@ +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME:-traefik} + +services: + grafana: + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-grafana}.rule=Host(`${GRAFANA_DOMAIN:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-grafana}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index f538569..f23a4b4 100644 --- a/grafana/docker-compose.yml +++ b/grafana/docker-compose.yml @@ -1,9 +1,5 @@ --- -version: "3" - -networks: - default: - name: ${TRAEFIK_NETWORK_NAME:-traefik} +version: "3.8" volumes: grafana: @@ -21,8 +17,3 @@ services: GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD:?err} GF_USERS_ALLOW_SIGN_UP: ${GF_USERS_ALLOW_SIGN_UP:-false} GF_INSTALL_PLUGINS: ${GF_INSTALL_PLUGINS} - labels: - traefik.enable: 'true' - traefik.docker.network: ${TRAEFIK_NETWORK_NAME:-traefik} - traefik.http.routers.grafana.rule: 'Host(`${GRAFANA_DOMAIN:?err}`)' - traefik.http.routers.grafana.entrypoints: 'web' From ab9d57f9a2ed79743d959234a0fb96c9aa359b7d Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:36:37 +0100 Subject: [PATCH 3/8] feat(Grafana): Add more configuration --- grafana/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml index f23a4b4..ca82176 100644 --- a/grafana/docker-compose.yml +++ b/grafana/docker-compose.yml @@ -15,5 +15,7 @@ services: environment: GF_SECURITY_ADMIN_USER: ${GF_SECURITY_ADMIN_USER:?err} GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD:?err} + GF_SECURITY_DISABLE_GRAVATAR: ${GF_SECURITY_DISABLE_GRAVATAR:-true} + GF_SECURITY_COOKIE_SECURE: ${GF_SECURITY_COOKIE_SECURE:-true} GF_USERS_ALLOW_SIGN_UP: ${GF_USERS_ALLOW_SIGN_UP:-false} GF_INSTALL_PLUGINS: ${GF_INSTALL_PLUGINS} From fc20ec584d21ae1b10b00f94a0f401b263c82f0e Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:39:10 +0100 Subject: [PATCH 4/8] feat(Grafana): Add postgres configuration --- grafana/docker-compose.postgres.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 grafana/docker-compose.postgres.yml diff --git a/grafana/docker-compose.postgres.yml b/grafana/docker-compose.postgres.yml new file mode 100644 index 0000000..b9fc41c --- /dev/null +++ b/grafana/docker-compose.postgres.yml @@ -0,0 +1,11 @@ +version: "3.8" + +services: + grafana: + environment: + # https://grafana.com/docs/grafana/latest/administration/configuration/#database + GF_DATABASE_TYPE: postgres + GF_DATABASE_HOST: postgres # Name is same as ../postgres/docker-compose.yml:8 + GF_DATABASE_NAME: ${POSTGRES_DB:?err} + GF_DATABASE_USER: ${POSTGRES_USER:?err} + GF_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?err} From 084bbd41689c5a433225e3b9fd1705f0683f4889 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:39:47 +0100 Subject: [PATCH 5/8] feat(Grafana): Add redis configuration --- grafana/docker-compose.redis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 grafana/docker-compose.redis.yml diff --git a/grafana/docker-compose.redis.yml b/grafana/docker-compose.redis.yml new file mode 100644 index 0000000..1e0d881 --- /dev/null +++ b/grafana/docker-compose.redis.yml @@ -0,0 +1,8 @@ +version: "3.8" + +services: + grafana: + environment: + # https://grafana.com/docs/grafana/latest/administration/configuration/#remote_cache + GF_REMOTE_CACHE_TYPE: redis + GF_REMOTE_CACHE_CONNSTR: ${GF_REMOTE_CACHE_CONNSTR:-addr=redis:6379,ssl=false} From d69c6010674364e0a68db0442e74dea38a582049 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:41:02 +0100 Subject: [PATCH 6/8] feat(Grafana): Add SMTP configuration --- grafana/docker-compose.smtp.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 grafana/docker-compose.smtp.yml diff --git a/grafana/docker-compose.smtp.yml b/grafana/docker-compose.smtp.yml new file mode 100644 index 0000000..5648c3e --- /dev/null +++ b/grafana/docker-compose.smtp.yml @@ -0,0 +1,12 @@ +version: "3.8" + +services: + grafana: + environment: + # https://grafana.com/docs/grafana/latest/administration/configuration/#smtp + GF_SMTP_ENABLED: true + GF_SMTP_HOST: ${GF_SMTP_HOST:?err} # with port + GF_SMTP_USER: ${GF_SMTP_USER:?err} + GF_SMTP_PASSWORD: ${GF_SMTP_PASSWORD:?err} + GF_SMTP_FROM_ADDRESS: ${GF_SMTP_FROM_ADDRESS:?err} + GF_SMTP_FROM_NAME: ${GF_SMTP_FROM_NAME:?err} From 43c38a6b976987b21dca65e87969d58ac61eddc0 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:47:15 +0100 Subject: [PATCH 7/8] feat(Grafana): Update default variable --- grafana/.env | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/grafana/.env b/grafana/.env index 3630f33..a7ee3e6 100644 --- a/grafana/.env +++ b/grafana/.env @@ -1,3 +1,44 @@ +######## +# DOCKER + +#DOCKER_CONTEXT= +#DOCKER_HOST= +SERVICES_DIR=.. +COMPOSE_FILE=${SERVICES_DIR}/grafana/docker-compose.yml:${SERVICES_DIR}/grafana/docker-compose.traefik.yml +#COMPOSE_PROJECT_NAME= + +######### +# GRAFANA + GRAFANA_DOMAIN=grafana.cool.life +#GRAFANA_VOLUME_NAME= +#GRAFANA_CONTAINER_NAME= +#GRAFANA_IMAGE= + GF_SECURITY_ADMIN_USER=admin -GF_SECURITY_ADMIN_PASSWORD=admin +GF_SECURITY_ADMIN_PASSWORD=password +#GF_SECURITY_DISABLE_GRAVATAR= +#GF_SECURITY_COOKIE_SECURE= +#GF_USERS_ALLOW_SIGN_UP= +GF_INSTALL_PLUGINS=grafana-piechart-panel + +###### +# SMTP + +#GF_SMTP_HOST= +#GF_SMTP_USER= +#GF_SMTP_PASSWORD= +#GF_SMTP_FROM_ADDRESS= +#GF_SMTP_FROM_NAME= + +####### +# REDIS + +#GF_REMOTE_CACHE_CONNSTR= + +######### +# TRAEFIK + +#TRAEFIK_NETWORK_NAME= +#TRAEFIK_ROUTER_NAME= # Don't use char '.' +#TRAEFIK_ENTRYPOINTS= From 754f2f7834a3a257f3d695612f508a19cd0a40c4 Mon Sep 17 00:00:00 2001 From: Simon C Date: Fri, 26 Nov 2021 16:52:57 +0100 Subject: [PATCH 8/8] docs(Grafana): Add documentation --- grafana/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 grafana/README.md diff --git a/grafana/README.md b/grafana/README.md new file mode 100644 index 0000000..974bba8 --- /dev/null +++ b/grafana/README.md @@ -0,0 +1,19 @@ +# Grafana + +> Grafana est un logiciel libre sous licence GNU Affero General Public License Version 32 (anciennement sous licence Apache 2.0 avant avril 2021) qui permet la visualisation de données. Il permet de réaliser des tableaux de bord et des graphiques depuis plusieurs sources dont des bases de données temporelles comme Graphite (en), InfluxDB et OpenTSDB3. +> +> -- [Wikipédia](https://fr.wikipedia.org/wiki/Grafana) + +## 🔧 Configuration + +La configuration du service ce base sur la documentation officiel plusieurs pages sont intéressante à lire : +- [Lancer l'image Docker de Grafana](https://grafana.com/docs/grafana/latest/installation/docker/) +- [Configuration l'image Docker Grafana](https://grafana.com/docs/grafana/latest/administration/configure-docker/) +- [Surcharger la configuration à l'aide des variables d'environment](https://grafana.com/docs/grafana/latest/administration/configuration/#override-configuration-with-environment-variables) + +## 🔗 Liens + +- [Site officiel](https://grafana.com) +- [La documentation](https://grafana.com/docs) +- [Github](https://github.com/grafana/grafana) +- [L'image Docker sur Docker Hub](https://hub.docker.com/r/grafana/grafana)