Código bot de telegram:
case "/grafica":
$fichero = scandir('/var/www/html/grafica');
$grafica=$fichero[2];
$imagen = 'https://apitelegram.lobo99.info/grafica/'.$grafica;
$sendto =API_URL."sendphoto?chat_id=".$chatID."&photo=".$imagen;
file_get_contents($sendto);
break;
La grafica la saca del docker de apitelegram:
docker run --restart=unless-stopped -d -p 8093:80 --name apitelegram.lobo99.info -v /dades/web/htdocs/apitelegram.lobo99.info/:/var/www/html php:7.2-apache
https://apitelegram.lobo99.info/grafica/grafica.png
Tienen que estar levantados los dockers:
grafana_eko -> genera las gráficas eko_renderer_1 -> genera la gráfica estática. Va con autenticación.
En el cron hay un fichero que se llama /home/ruth/eko/bot/check_internet.sh, que es el que llama al renderer con autenticación
##############################
# Descarga imagen de grafana #
##############################
hoy=`date +%Y%m%d`
inicio=`date "+%s" -d "$hoy 00:00:00"`"000"
fin=`date "+%s" -d "$hoy 23:59:59"`"000"
fecha=`date +%s`
curl -H "Authorization: Bearer eyJrIjoiUm9YNzdZb0Iyam5xOGp2TFI4aThpOVQwNzlqQnNOQUMiLCJuIjoiZGFzaGJvYXJkIiwiaWQiOjF9" "https://grafanaeko.lobo99.info/render/d-solo/Ehqv1ctnz/eko2?orgId=1&from="${inicio}"&to="${fin}"&panelId=6&width=1000&height=500&tz=Europe%2FMadrid&" -o "/dades/web/htdocs/apitelegram.lobo99.info/grafica/"${fecha}".png"
#borro todos los ficheros, menos el que me acabo de descargar y grafica.png por si alguien justo lo pide, que exista
find /dades/web/htdocs/apitelegram.lobo99.info/grafica/ -type f -not -name ${fecha}'.png' -not -name grafica.png -delete
cp /dades/web/htdocs/apitelegram.lobo99.info/grafica/"${fecha}".png /dades/web/htdocs/apitelegram.lobo99.info/grafica/grafica.png
##################################
# FIN Descarga imagen de grafana #
##################################
Se descarga la imagen de grafana. Es un docker. Fallaba porque tenía el certificado caducado
docker exec -ti nginx letsencrypt