Files
website/compose.yml
Julien Valverdé 41c28d5e53 Server runs node
2025-09-17 03:09:42 +02:00

78 lines
1.7 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: node:20
volumes:
- *volume-app
working_dir: /app/packages/server
env_file: .env
environment:
<<: *env-base
entrypoint: ["npm", "run", "node:dev"]
cli:
<<: *service-base
image: oven/bun:latest
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:20
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
command: [-config.file=/etc/tempo.yaml]
volumes:
- ./telemetry/tempo.yaml:/etc/tempo.yaml
- ./tempo_data/:/data/
stop_signal: SIGKILL
prometheus:
<<: *service-base
image: prom/prometheus:latest
command:
- --config.file=/etc/prometheus.yaml
- --web.enable-remote-write-receiver
- --enable-feature=exemplar-storage
volumes:
- ./telemetry/prometheus.yaml:/etc/prometheus.yaml
grafana:
<<: *service-base
image: grafana/grafana:latest
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