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.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
|
|
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.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
|
|
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.20.0@sha256:6b66300a1394d9ca079dbb78fbc94e53c5b43fe8525e6c9b8b371f0810b75f44
|
|
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:9ce9a555b14801dd501057836ed9cc52804452b1cb0c2644098c0c2a457a1a18
|
|
command: [-config.file=/etc/tempo.yaml]
|
|
volumes:
|
|
- ./telemetry/tempo.yaml:/etc/tempo.yaml
|
|
- ./tempo_data/:/data/
|
|
stop_signal: SIGKILL
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v3.7.1@sha256:ff7e389acbe064a4823212a500393d40a28a8f362e4b05cbf6742a9a3ef736b2
|
|
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:60794dc17e6a58d28539cfd3dd496a7f2da62e13ff54a4055431385eec5d6639
|
|
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
|