Files
EVOLV/docker-compose.yml
znetsixe 6a6c04d34b Migrate to new Gitea instance (gitea.wbd-rd.nl)
- Update all submodule URLs from gitea.centraal.wbd-rd.nl to gitea.wbd-rd.nl
- Add settler as proper submodule in .gitmodules
- Add agent skills, function anchors, decisions, and improvements
- Add Docker configuration and scripts
- Add manuals and third_party docs
- Update .gitignore with secrets and build artifacts
- Remove stale .tgz build artifact

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:07:04 +01:00

90 lines
2.5 KiB
YAML

########################################
# EVOLV — Docker Compose Dev Stack
########################################
services:
nodered:
build:
context: .
dockerfile: Dockerfile
container_name: evolv-nodered
restart: unless-stopped
ports:
- "1880:1880"
volumes:
# Bind mount: host edits are instantly visible in container
- .:/data/evolv:cached
# Named volume: overlay node_modules so host doesn't need native deps
- evolv_node_modules:/data/evolv/node_modules
environment:
- TZ=Europe/Amsterdam
- LOCATION_ID=docker-dev
- NODE_ENV=development
- INFLUXDB_URL=http://influxdb:8086
- INFLUXDB_TOKEN=evolv-dev-token
- INFLUXDB_ORG=evolv
- INFLUXDB_BUCKET=telemetry
depends_on:
influxdb:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:1880/nodes"]
interval: 15s
timeout: 5s
start_period: 30s
retries: 3
# ---------------------------------------------------------
# InfluxDB — time-series telemetry backend
# ---------------------------------------------------------
influxdb:
image: influxdb:2.7
container_name: evolv-influxdb
restart: unless-stopped
ports:
- "8086:8086"
volumes:
- influxdb_data:/var/lib/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=evolv
- DOCKER_INFLUXDB_INIT_PASSWORD=evolv-dev-pw
- DOCKER_INFLUXDB_INIT_ORG=evolv
- DOCKER_INFLUXDB_INIT_BUCKET=telemetry
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=evolv-dev-token
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8086/health"]
interval: 10s
timeout: 5s
start_period: 15s
retries: 3
# ---------------------------------------------------------
# Grafana — dashboard visualization
# ---------------------------------------------------------
grafana:
image: grafana/grafana:latest
container_name: evolv-grafana
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
- ./docker/grafana/provisioning:/etc/grafana/provisioning
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=evolv
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
depends_on:
influxdb:
condition: service_healthy
volumes:
evolv_node_modules:
driver: local
influxdb_data:
driver: local
grafana_data:
driver: local