forked from UAVLab-SLU/DRV_public
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathdocker-compose.dev.yaml
More file actions
93 lines (87 loc) · 2.65 KB
/
docker-compose.dev.yaml
File metadata and controls
93 lines (87 loc) · 2.65 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
# 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:
context: ./backend
args:
BACKEND_PORT: ${BACKEND_PORT:-5000}
ports:
- "${BACKEND_PORT:-5000}:${BACKEND_PORT:-5000}"
volumes:
- ./backend:/app
- ./credentials:/app/credentials
- ${USERPROFILE:-$HOME}/Documents/AirSim:/root/Documents/AirSim
env_file:
- ./backend/.env
environment:
- BACKEND_HOST=${BACKEND_HOST:-backend}
- FLASK_RUN_PORT=${BACKEND_PORT:-5000}
- DRV_UNREAL_HOST=drv-unreal
- DRV_UNREAL_API_PORT=${SIM_INTERNAL_PORT:-3000}
- DRV_PIXELSTREAM_PORT=${PIXELSTREAM_PORT:-8888}
- BACKEND_PORT=${BACKEND_PORT:-5000}
# Uncomment locally if you need Flask debug; DO NOT set in prod
# - FLASK_ENV=development
# - FLASK_DEBUG=1
networks:
- droneworld-network
frontend:
image: droneworld/droneworld-frontend:v1.0.0
build:
context: ./frontend
args:
FRONTEND_PORT: ${FRONTEND_PORT:-3000}
ports:
- "${FRONTEND_PORT:-3000}:${FRONTEND_PORT:-3000}"
volumes:
- ./frontend:/app
- /app/node_modules
environment:
- CHOKIDAR_USEPOLLING=true
- FRONTEND_HOST=${FRONTEND_HOST:-frontend}
- FRONTEND_PORT=${FRONTEND_PORT:-3000}
- PORT=${FRONTEND_PORT:-3000}
- PIXELSTREAM_URL=ws://${SIM_HOST:-drv-unreal}:${PIXELSTREAM_PORT:-8888}
- REACT_APP_BACKEND_URL=http://${BACKEND_HOST:-localhost}:${BACKEND_PORT:-5000}
depends_on:
- backend
networks:
- droneworld-network
fake-gcs:
profiles: ["gcs"]
image: fsouza/fake-gcs-server
ports:
- "${FAKE_GCS_PORT:-4443}:${FAKE_GCS_PORT:-4443}"
command: -scheme http -port ${FAKE_GCS_PORT:-4443} -external-url http://fake-gcs:${FAKE_GCS_PORT:-4443} -log-level error
volumes:
- ./fake-gcs-data:/data
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:${FAKE_GCS_PORT:-4443}/storage/v1/b"]
interval: 5s
timeout: 3s
retries: 5
networks:
- droneworld-network
init-storage:
profiles: ["gcs"]
image: curlimages/curl:latest
depends_on:
fake-gcs:
condition: service_healthy
command:
- sh
- -c
- |
curl -X POST http://fake-gcs:${FAKE_GCS_PORT:-4443}/storage/v1/b \
-H 'Content-Type: application/json' \
-d '{"name":"droneworld"}'
networks:
- droneworld-network
networks:
droneworld-network:
driver: bridge
volumes:
fake-gcs-data: