add container grafana

This commit is contained in:
= 2025-07-16 23:23:20 +02:00
parent 154cfe056f
commit 626f20daee
9 changed files with 67 additions and 0 deletions

View file

@ -51,3 +51,8 @@
tags:
- booklore
- docker-container
- role: deploy_container_grafana
tags:
- grafana
- docker-container

View file

@ -0,0 +1,3 @@
---
container_grafana_version: latest
container_grafana_domain: grafana.example.com

View file

@ -0,0 +1,24 @@
---
- name: Ensure data directories exist
ansible.builtin.file:
path: "{{ container_base_dir }}/"
state: directory
mode: '0755'
become: false
- name: Deploy Docker Compose and .env files
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ container_base_dir }}/{{ item.dest }}"
mode: '0644'
loop:
- { src: 'docker-compose.yml.j2', dest: 'docker-compose.yml' }
- { src: '.env.j2', dest: '.env' }
become: false
- name: Start Container
community.docker.docker_compose_v2:
project_src: "{{ container_base_dir }}"
pull: always
docker_host: "unix:///run/user/1000/docker.sock"
become: false

View file

@ -0,0 +1,2 @@
GRAFANA_VERSION={{ container_grafana_version }}
GRAFANA_DOMAIN={{ container_grafana_domain }}

View file

@ -0,0 +1,32 @@
---
services:
grafana:
image: grafana/grafana:${GRAFANA_VERSION}
container_name: grafana
restart: unless-stopped
networks:
traefik:
volumes:
- 'grafana_storage:/var/lib/grafana'
environment:
- GF_SERVER_ROOT_URL=https://${GRAFANA_DOMAIN}/
- GF_PLUGINS_PREINSTALL=grafana-clock-panel
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.grafana.entrypoints=http"
- "traefik.http.routers.grafana.rule=Host(`${GRAFANA_DOMAIN}`)"
- "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}`)"
- "traefik.http.routers.grafana-secure.tls=true"
- "traefik.http.routers.grafana-secure.service=grafana"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
volumes:
grafana_storage: {}
networks:
traefik:
external: true

View file

@ -0,0 +1 @@
container_base_dir: /opt/docker/grafana