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.10@sha256:b86c67b531d87b4db11470d9b2bd0c519b1976eee6fcd71634e73abfa6230d2e
|
|
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.10@sha256:b86c67b531d87b4db11470d9b2bd0c519b1976eee6fcd71634e73abfa6230d2e
|
|
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.1@sha256:b501c082306a4f528bc4038cbf2fbb58095d583d0419a259b2114b5ac53d12e9
|
|
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:843ccf6beafa738167eb4e9d29eb13284f2a40ee1ba11003cd245799dfee79c5
|
|
command: [-config.file=/etc/tempo.yaml]
|
|
volumes:
|
|
- ./telemetry/tempo.yaml:/etc/tempo.yaml
|
|
- ./tempo_data/:/data/
|
|
stop_signal: SIGKILL
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v3.10.0@sha256:4a61322ac1103a0e3aea2a61ef1718422a48fa046441f299d71e660a3bc71ae9
|
|
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:fab4d86718ecf6aec45961ae01c5f743a955e11fad0adb8f43c5f52a961b5144
|
|
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
|