-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathdocker-compose.dev.yaml
More file actions
101 lines (95 loc) · 2.9 KB
/
Copy pathdocker-compose.dev.yaml
File metadata and controls
101 lines (95 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Development docker-compose that excludes the simulator
# Use this when working on frontend/backend without needing the Unreal simulation
name: DroneWorld
services:
backend:
image: droneworld/droneworld-backend:v1.0.0
build: ./backend
ports:
- "5000:5000"
volumes:
- ./backend:/app
- ./credentials:/app/credentials
- ${AIRSIM_SETTINGS_DIR:-./config/airsim}:/root/Documents/AirSim
- type: bind
source: ${DRONELUME_CONFIG_DIR:-./config/dronelume}
target: /app/dronelume-config
bind:
create_host_path: true
depends_on:
fake-gcs:
condition: service_healthy
env_file:
- path: ${BACKEND_ENV_FILE:-./backend/.env}
required: false
environment:
- DRV_UNREAL_HOST=drv-unreal
- DRV_UNREAL_API_PORT=3001
- DRV_PIXELSTREAM_PORT=8888
- AIRSIM_HOST=host.docker.internal
- AIRSIM_PORT=41451
- DRONELUME_CONFIG_DIR=/app/dronelume-config
- DRONELUME_RUNTIME_FILE_NAME=${DRONELUME_RUNTIME_FILE_NAME:-initDSL_ActiveShooter.json}
- SCENARIO_MODEL_PROVIDER=ollama
- OLLAMA_URL=http://host.docker.internal:11434
- OLLAMA_MODEL=${OLLAMA_MODEL:-llama3.1}
- OLLAMA_TIMEOUT_SECONDS=${OLLAMA_TIMEOUT_SECONDS:-90}
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- droneworld-network
frontend:
image: droneworld/droneworld-frontend:v1.0.0
build: ./frontend
ports:
- "3000:3000"
volumes:
- ./frontend:/app
- ${CESIUM_CREDENTIALS_DIR:-./credentials}:/credentials:ro
- /app/node_modules
environment:
- CHOKIDAR_USEPOLLING=true
- CESIUM_TOKEN_FILE=/credentials/frontend-cesium-token.json
- PIXELSTREAM_URL=ws://localhost:8888
- VITE_PIXELSTREAM_URL=${VITE_PIXELSTREAM_URL:-http://localhost:8888}
- VITE_SIMULATOR_CONTROL_URL=${VITE_SIMULATOR_CONTROL_URL:-http://127.0.0.1:8890}
- REACT_APP_BACKEND_URL=http://localhost:5000
- VITE_API_URL=
- VITE_BACKEND_PROXY_TARGET=http://backend:5000
depends_on:
- backend
networks:
- droneworld-network
fake-gcs:
image: fsouza/fake-gcs-server
ports:
- "4443:4443"
command: -scheme http -port 4443 -external-url http://fake-gcs:4443 -log-level error
volumes:
- ./fake-gcs-data:/data
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:4443/storage/v1/b"]
interval: 5s
timeout: 3s
retries: 5
networks:
- droneworld-network
init-storage:
image: curlimages/curl:latest
depends_on:
fake-gcs:
condition: service_healthy
command:
- sh
- -c
- |
curl -X POST http://fake-gcs:4443/storage/v1/b \
-H 'Content-Type: application/json' \
-d '{"name":"droneworld"}'
networks:
- droneworld-network
networks:
droneworld-network:
driver: bridge
volumes:
fake-gcs-data: