76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
x-service-base: &service-base
|
|
user: ${UID:?UID missing}:${GID:?GID missing}
|
|
tty: true
|
|
|
|
x-volume-app: &volume-app ./:/app/
|
|
|
|
x-env-base: &env-base
|
|
TZ: ${TZ:?TZ missing}
|
|
|
|
|
|
services:
|
|
server:
|
|
<<: *service-base
|
|
image: oven/bun:1.3.11@sha256:0733e50325078969732ebe3b15ce4c4be5082f18c4ac1a0f0ca4839c2e4e42a7
|
|
volumes:
|
|
- *volume-app
|
|
working_dir: /app/packages/server
|
|
env_file: .env
|
|
environment:
|
|
<<: *env-base
|
|
entrypoint: ["bun", "dev:bun"]
|
|
|
|
cli:
|
|
<<: *service-base
|
|
image: oven/bun:1.3.11@sha256:0733e50325078969732ebe3b15ce4c4be5082f18c4ac1a0f0ca4839c2e4e42a7
|
|
volumes:
|
|
- *volume-app
|
|
working_dir: /app
|
|
env_file: .env
|
|
environment:
|
|
<<: *env-base
|
|
NODE_ENV: development
|
|
entrypoint: ["/bin/bash"]
|
|
stop_signal: SIGKILL
|
|
|
|
webapp:
|
|
<<: *service-base
|
|
image: node:22.22.2@sha256:ecabd1cb6956d7acfffe8af6bbfbe2df42362269fd28c227f36367213d0bb777
|
|
ports:
|
|
- ${PORT:?PORT missing}:80
|
|
volumes:
|
|
- *volume-app
|
|
working_dir: /app/packages/webapp
|
|
environment:
|
|
<<: *env-base
|
|
entrypoint: ["npm", "run", "dev"]
|
|
stop_signal: SIGKILL
|
|
|
|
tempo:
|
|
<<: *service-base
|
|
image: grafana/tempo:latest@sha256:5997c15428b9e8cfcc5474d7a396af1d8e4c32b86a10c368a203f1514419811c
|
|
command: [-config.file=/etc/tempo.yaml]
|
|
volumes:
|
|
- ./telemetry/tempo.yaml:/etc/tempo.yaml
|
|
- ./tempo_data/:/data/
|
|
stop_signal: SIGKILL
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v3.11.1@sha256:759ea6db49103737f2a6f420b0d1632062d8ad99dec086c76db605fd0bf23e15
|
|
command:
|
|
- --config.file=/etc/prometheus.yaml
|
|
- --web.enable-remote-write-receiver
|
|
- --enable-feature=exemplar-storage
|
|
volumes:
|
|
- ./telemetry/prometheus.yaml:/etc/prometheus.yaml
|
|
|
|
grafana:
|
|
image: grafana/grafana:latest@sha256:9419d74cb14745b96cf7068c6c5de30851d63ee45bfbe6387d48b12e62146ea4
|
|
volumes:
|
|
- ./telemetry/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
|
|
environment:
|
|
GF_AUTH_ANONYMOUS_ENABLED: true
|
|
GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
|
|
GF_AUTH_DISABLE_LOGIN_FORM: true
|
|
GF_FEATURE_TOGGLES_ENABLE: traceqlEditor
|