diff --git a/grafana/.env-example b/grafana/.env-example new file mode 100644 index 0000000..5fdd31f --- /dev/null +++ b/grafana/.env-example @@ -0,0 +1,5 @@ +# Grafana Version (Standard: latest) +GRAFANA_VERSION=latest + +# Grafana Domain +GRAFANA_DOMAIN=grafana.example.com \ No newline at end of file diff --git a/grafana/README.md b/grafana/README.md new file mode 100644 index 0000000..e69de29 diff --git a/grafana/docker-compose.yml b/grafana/docker-compose.yml new file mode 100644 index 0000000..d5fa88e --- /dev/null +++ b/grafana/docker-compose.yml @@ -0,0 +1,32 @@ +--- +services: + grafana: + image: grafana/grafana:${GRAFANA_VERSION:-latest} + container_name: grafana + restart: unless-stopped + volumes: + - config:/var/lib/grafana + networks: + - traefik + - grafana + labels: + - "traefik.enable=true" + - "traefik.docker.network=traefik" + - "traefik.http.routers.grafana.entrypoints=http" + - "traefik.http.routers.grafana.rule=Host(`${GRAFANA_DOMAIN:?error}`)" + - "traefik.http.middlewares.grafana-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.grafana.middlewares=grafana-https-redirect" + - "traefik.http.routers.grafana-secure.entrypoints=https" + - "traefik.http.routers.grafana-secure.rule=Host(`${GRAFANA_DOMAIN:?error}`)" + - "traefik.http.routers.grafana-secure.tls=true" + - "traefik.http.routers.grafana-secure.service=grafana" + - "traefik.http.services.grafana.loadbalancer.server.port=3000" + +networks: + traefik: + external: true + grafana: + driver: bridge + +volumes: + config: \ No newline at end of file