mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
55 lines
2.4 KiB
YAML
55 lines
2.4 KiB
YAML
services:
|
|
grafana:
|
|
image: ${GRAFANA_IMAGE:-grafana/grafana-oss:11.6.0}
|
|
container_name: grafana
|
|
hostname: grafana
|
|
restart: unless-stopped
|
|
environment:
|
|
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER}
|
|
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD}
|
|
# Admin ACCOUNT EMAIL — reuses the Overleaf admin mailbox (line ~61 of
|
|
# .env). NOTE: like the password, this env is honored ONLY when Grafana
|
|
# CREATES the admin user (fresh grafana-data); it never rewrites an
|
|
# existing user row. Default (Grafana shipped default) is
|
|
# admin@localhost — see MONITORING.md for the reset-mail gotcha.
|
|
GF_SECURITY_ADMIN_EMAIL: ${OVERLEAF_ADMIN_EMAIL:-overleaf@uni-bremen.de}
|
|
GF_ANALYTICS_REPORTING_ENABLED: "false"
|
|
GF_USERS_SIGNUP_ENABLED: "false"
|
|
# SMTP — reuses the stack's Overleaf relay settings (OVERLEAF_EMAIL_* in
|
|
# .env / env.sample): single source of truth, no Grafana-specific mail vars.
|
|
# GF_SMTP_FROM_NAME is the only grafana-local piece (display label).
|
|
GF_SMTP_ENABLED: "true"
|
|
GF_SMTP_HOST: ${OVERLEAF_EMAIL_SMTP_HOST}:${OVERLEAF_EMAIL_SMTP_PORT}
|
|
GF_SMTP_USER: ${OVERLEAF_EMAIL_SMTP_USER}
|
|
GF_SMTP_PASSWORD: ${OVERLEAF_EMAIL_PASSWORD}
|
|
GF_SMTP_FROM_ADDRESS: ${OVERLEAF_EMAIL_FROM_ADDRESS}
|
|
GF_SMTP_FROM_NAME: "Overleaf Monitoring"
|
|
GF_SMTP_SKIP_VERIFY: "false"
|
|
# AJ-3 style subpath serving (owner 2026-10-08, reference toolkit):
|
|
# URLs/route generation relative to the /grafana/ root
|
|
GF_SERVER_ROOT_URL: "${GRAFANA_ROOT_URL:-https://psintern.neuro.uni-bremen.de/grafana/}"
|
|
GF_SERVER_SERVE_FROM_SUB_PATH: "true"
|
|
# x-frame-options deny -> sameorigin (iframe embedding from the same
|
|
# origin stays possible; the fine-grained allowlist is the CSP below)
|
|
GF_SECURITY_ALLOW_EMBEDDING: "true"
|
|
GF_SECURITY_CSP_FRAME_ANCESTORS: "'self'"
|
|
volumes:
|
|
- ./provisioning:/etc/grafana/provisioning
|
|
- ./dashboards:/var/lib/grafana/dashboards
|
|
- ./grafana-data:/var/lib/grafana
|
|
expose:
|
|
- "3000" # nginx is the sole facade (see nginx/nginx.conf location /grafana/)
|
|
healthcheck:
|
|
# grafana-oss ships wget (verified on the reference stack)
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/api/health"]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 8
|
|
start_period: 30s
|
|
networks:
|
|
- overleaf-network
|
|
|
|
networks:
|
|
overleaf-network:
|
|
external: true
|