Monitoring / Dockerfile
Kahouli's picture
Update Dockerfile
2629e69 verified
Raw
History Blame Contribute Delete
3.05 kB
FROM python:3.11-slim
# ─── System deps ───────────────────────────────────────────────────────────────
RUN apt-get update && apt-get install -y \
wget curl tar adduser libfontconfig1 musl \
supervisor \
&& rm -rf /var/lib/apt/lists/*
# ─── Prometheus ────────────────────────────────────────────────────────────────
ENV PROMETHEUS_VERSION=2.51.2
RUN wget -q https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz \
&& tar xzf prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz \
&& mv prometheus-${PROMETHEUS_VERSION}.linux-amd64 /opt/prometheus \
&& rm prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz
# ─── Grafana ───────────────────────────────────────────────────────────────────
ENV GRAFANA_VERSION=10.4.2
RUN wget -q https://dl.grafana.com/oss/release/grafana-${GRAFANA_VERSION}.linux-amd64.tar.gz \
&& tar xzf grafana-${GRAFANA_VERSION}.linux-amd64.tar.gz \
&& mv grafana-v${GRAFANA_VERSION} /opt/grafana \
&& rm grafana-${GRAFANA_VERSION}.linux-amd64.tar.gz
# ─── Python exporter deps ──────────────────────────────────────────────────────
RUN pip install --no-cache-dir prometheus-client requests
# ─── Copy config files ─────────────────────────────────────────────────────────
WORKDIR /app
COPY prometheus.yml /opt/prometheus/prometheus.yml
COPY grafana.ini /opt/grafana/conf/custom.ini
COPY datasource.yml /opt/grafana/conf/provisioning/datasources/prometheus.yml
COPY dashboard_provider.yml /opt/grafana/conf/provisioning/dashboards/provider.yml
COPY ner_dashboard.json /opt/grafana/conf/provisioning/dashboards/ner_dashboard.json
COPY ner_exporter.py /app/ner_exporter.py
COPY groq_exporter.py /app/groq_exporter.py
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY groq_dashboard.json /opt/grafana/conf/provisioning/dashboards/groq_dashboard.json
# ─── Permissions ───────────────────────────────────────────────────────────────
RUN mkdir -p /opt/prometheus/data /opt/grafana/data \
&& chmod -R 777 /opt/prometheus/data /opt/grafana/data
# HF Spaces expose uniquement le port 7860
EXPOSE 7860
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]