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.5@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3
|
|
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.5@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3
|
|
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.21.1@sha256:8739e532180cfe09e03bbb4545fc725b044c921280532d7c9c1480ba2396837e
|
|
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:5a0b37e97b1a394f0777f31780a837c620c98195e35383cb8d683fd9deb45f5e
|
|
command: [-config.file=/etc/tempo.yaml]
|
|
volumes:
|
|
- ./telemetry/tempo.yaml:/etc/tempo.yaml
|
|
- ./tempo_data/:/data/
|
|
stop_signal: SIGKILL
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v3.8.1@sha256:2b6f734e372c1b4717008f7d0a0152316aedd4d13ae17ef1e3268dbfaf68041b
|
|
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:7c064e627d9cb50c3485c9ded5ca0222de89a08e41403322a0c3ca6f1777a8d1
|
|
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
|