2025-07-17 01:28:28 +08:00
|
|
|
name: grafana-fs-dev
|
|
|
|
|
|
|
|
services:
|
|
|
|
proxy:
|
|
|
|
image: grafana-proxy
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: proxy.dockerfile
|
|
|
|
volumes:
|
|
|
|
- ../../public/build:/cdn/public/build
|
|
|
|
- ../../public/fonts:/cdn/public/fonts
|
|
|
|
ports:
|
|
|
|
- '3000:80' # Gateway
|
|
|
|
- '3010:81' # CDN
|
2025-08-06 16:40:48 +08:00
|
|
|
depends_on:
|
|
|
|
- grafana-api
|
|
|
|
- frontend-service
|
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
2025-07-17 01:28:28 +08:00
|
|
|
|
2025-08-06 16:40:48 +08:00
|
|
|
grafana-api:
|
2025-08-01 00:22:29 +08:00
|
|
|
image: grafana-fs-dev
|
2025-07-17 01:28:28 +08:00
|
|
|
build:
|
2025-08-01 00:22:29 +08:00
|
|
|
context: ../..
|
|
|
|
dockerfile: devenv/frontend-service/grafana-fs-dev.dockerfile
|
2025-07-17 01:28:28 +08:00
|
|
|
entrypoint: ['bin/grafana', 'server']
|
|
|
|
volumes:
|
|
|
|
- backend-data:/grafana/data
|
2025-08-05 16:56:30 +08:00
|
|
|
- ./provisioning/datasources:/grafana/conf/provisioning/datasources
|
|
|
|
- ./provisioning/dashboards:/grafana/conf/provisioning/dashboards
|
|
|
|
- ../dev-dashboards:/grafana/conf/dev-dashboards
|
2025-09-05 00:17:32 +08:00
|
|
|
- ./configs/grafana-api.local.ini:/grafana/conf/custom.ini
|
2025-07-17 01:28:28 +08:00
|
|
|
environment:
|
2025-08-15 18:59:43 +08:00
|
|
|
OTEL_BSP_SCHEDULE_DELAY: 500
|
2025-08-06 16:40:48 +08:00
|
|
|
GF_DEFAULT_APP_MODE: development
|
|
|
|
GF_PANELS_ENABLE_ALPHA: true
|
2025-07-17 01:28:28 +08:00
|
|
|
GF_SERVER_CDN_URL: http://localhost:3010
|
2025-09-09 17:39:29 +08:00
|
|
|
GF_FEATURE_TOGGLES_ENABLE: enableNativeHTTPHistogram
|
2025-08-15 18:59:43 +08:00
|
|
|
GF_DATABASE_URL: postgres://grafana:grafana@postgres:5432/grafana
|
|
|
|
GF_SERVER_ROUTER_LOGGING: true
|
|
|
|
GF_LOG_LEVEL: info
|
|
|
|
GF_AUTH_LOGIN_COOKIE_NAME: grafana_fs_dev_login # set a custom cookie name to not conflict with other instances running on localhost
|
|
|
|
OTEL_SERVICE_NAME: grafana-api
|
|
|
|
GF_TRACING_OPENTELEMETRY_OTLP_ADDRESS: 'alloy:4317'
|
|
|
|
GF_TRACING_OPENTELEMETRY_OTLP_PROPAGATION: jaeger,w3c
|
2025-07-17 01:28:28 +08:00
|
|
|
ports:
|
|
|
|
- '3011:3000'
|
2025-08-06 16:40:48 +08:00
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
2025-07-17 01:28:28 +08:00
|
|
|
|
|
|
|
frontend-service:
|
2025-08-01 00:22:29 +08:00
|
|
|
image: grafana-fs-dev
|
2025-07-17 01:28:28 +08:00
|
|
|
build:
|
2025-08-01 00:22:29 +08:00
|
|
|
context: ../..
|
|
|
|
dockerfile: devenv/frontend-service/grafana-fs-dev.dockerfile
|
2025-07-17 01:28:28 +08:00
|
|
|
entrypoint: ['bin/grafana', 'server', 'target']
|
2025-09-05 00:17:32 +08:00
|
|
|
volumes:
|
|
|
|
- ./configs/frontend-service.local.ini:/grafana/conf/custom.ini
|
2025-07-17 01:28:28 +08:00
|
|
|
ports:
|
|
|
|
- '3012:3000'
|
2025-08-06 16:40:48 +08:00
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
2025-07-17 01:28:28 +08:00
|
|
|
environment:
|
2025-08-15 18:59:43 +08:00
|
|
|
OTEL_BSP_SCHEDULE_DELAY: 500
|
2025-07-17 01:28:28 +08:00
|
|
|
GF_DEFAULT_APP_MODE: development
|
|
|
|
GF_DEFAULT_TARGET: frontend-server
|
|
|
|
GF_SECURITY_CONTENT_SECURITY_POLICY: false
|
2025-08-28 19:02:09 +08:00
|
|
|
GF_FEATURE_TOGGLES_ENABLE: enableNativeHTTPHistogram
|
2025-07-17 01:28:28 +08:00
|
|
|
GF_SERVER_CDN_URL: http://localhost:3010
|
2025-08-15 18:59:43 +08:00
|
|
|
GF_SERVER_ROUTER_LOGGING: true
|
|
|
|
GF_LOG_LEVEL: info
|
|
|
|
OTEL_SERVICE_NAME: frontend-service
|
|
|
|
GF_TRACING_OPENTELEMETRY_OTLP_ADDRESS: 'alloy:4317'
|
|
|
|
GF_TRACING_OPENTELEMETRY_OTLP_PROPAGATION: jaeger,w3c
|
2025-07-17 01:28:28 +08:00
|
|
|
|
2025-08-01 00:22:29 +08:00
|
|
|
postgres:
|
|
|
|
image: postgres:16.1-alpine3.19
|
|
|
|
environment:
|
|
|
|
POSTGRES_USER: grafana
|
|
|
|
POSTGRES_PASSWORD: grafana
|
|
|
|
POSTGRES_DB: grafana
|
|
|
|
volumes:
|
|
|
|
- postgres-data:/var/lib/postgresql/data
|
2025-08-06 16:40:48 +08:00
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
|
|
|
|
|
|
|
alloy:
|
|
|
|
image: grafana/alloy:latest
|
|
|
|
volumes:
|
|
|
|
- ./configs/alloy:/alloy-config
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock # To scrape Docker container logs
|
|
|
|
- alloy-data:/var/lib/alloy/data
|
|
|
|
ports:
|
|
|
|
- '12346:12345' # Alloy UI
|
|
|
|
command:
|
|
|
|
- run
|
|
|
|
- --server.http.listen-addr=0.0.0.0:12345
|
|
|
|
- --storage.path=/var/lib/alloy/data
|
|
|
|
- /alloy-config
|
|
|
|
depends_on:
|
|
|
|
- loki
|
2025-08-28 19:02:09 +08:00
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
image: prom/prometheus
|
|
|
|
volumes:
|
|
|
|
- prometheus-data:/prometheus
|
|
|
|
command:
|
|
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
|
|
- '--storage.tsdb.path=/prometheus'
|
|
|
|
- '--web.enable-remote-write-receiver'
|
|
|
|
- '--enable-feature=native-histograms'
|
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
2025-08-06 16:40:48 +08:00
|
|
|
|
|
|
|
loki:
|
|
|
|
image: grafana/loki
|
|
|
|
volumes:
|
|
|
|
- loki-data:/loki
|
|
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
2025-08-01 00:22:29 +08:00
|
|
|
|
2025-08-15 18:59:43 +08:00
|
|
|
tempo-init:
|
|
|
|
image: grafana/tempo
|
|
|
|
user: root
|
|
|
|
entrypoint:
|
|
|
|
- 'chown'
|
|
|
|
- '10001:10001'
|
|
|
|
- '/var/tempo'
|
|
|
|
volumes:
|
|
|
|
- tempo-data:/var/tempo
|
|
|
|
|
|
|
|
tempo:
|
|
|
|
image: grafana/tempo
|
|
|
|
volumes:
|
|
|
|
- tempo-data:/var/lib/tempo
|
|
|
|
- ./configs/tempo.yaml:/etc/tempo/tempo.yaml
|
|
|
|
command: ['-config.file=/etc/tempo/tempo.yaml']
|
2025-08-28 19:02:09 +08:00
|
|
|
labels:
|
|
|
|
- 'alloy.logs=true'
|
2025-08-15 18:59:43 +08:00
|
|
|
|
|
|
|
depends_on:
|
|
|
|
tempo-init:
|
|
|
|
condition: service_completed_successfully
|
|
|
|
|
2025-07-17 01:28:28 +08:00
|
|
|
volumes:
|
|
|
|
backend-data:
|
2025-08-01 00:22:29 +08:00
|
|
|
postgres-data:
|
2025-08-06 16:40:48 +08:00
|
|
|
alloy-data:
|
|
|
|
loki-data:
|
2025-08-15 18:59:43 +08:00
|
|
|
tempo-data:
|
2025-08-28 19:02:09 +08:00
|
|
|
prometheus-data:
|