-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
67 lines (63 loc) · 1.66 KB
/
Copy pathdocker-compose.yml
File metadata and controls
67 lines (63 loc) · 1.66 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
version: '2.1'
volumes:
weather-data:
weather-logs:
services:
# Main weather application backend
weather-backend:
build:
context: .
dockerfile: Dockerfile.template
privileged: true # Required for GPU access
network_mode: host
volumes:
- 'weather-data:/app/data'
- 'weather-logs:/app/logs'
environment:
# ARM/Jetson specific
- ECCODES_THREADS=0
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
# Location (override via Balena device variables)
- WEATHER_LOCATION_NAME=Franklin, TN
- WEATHER_LATITUDE=35.9251
- WEATHER_LONGITUDE=-86.8689
- WEATHER_RADAR_SITE=KOHX
- WEATHER_TIMEZONE=America/Chicago
- TZ=America/Chicago
# Feature flags
- HRRR_ENABLED=true
- NEXRAD_ENABLED=true
- NOWCAST_ENABLED=true
- NOWCAST_METHOD=pysteps
- ENSEMBLE_MEMBERS=3
# Performance
- MAX_MEMORY_MB=12288
- CPU_THREADS=6
- GPU_MEMORY_FRACTION=0.7
labels:
io.balena.features.kernel-modules: '1'
io.balena.features.firmware: '1'
restart: always
# Display dashboard on HDMI output (Jetson-compatible)
weather-display:
build:
context: .
dockerfile: Dockerfile.display
privileged: true
network_mode: host
devices:
- "/dev/fb0:/dev/fb0"
- "/dev/tty1:/dev/tty1"
- "/dev/tty7:/dev/tty7"
environment:
- DISPLAY=:0
- TZ=America/Chicago
labels:
io.balena.features.dbus: '1'
io.balena.features.kernel-modules: '1'
io.balena.features.firmware: '1'
restart: always
depends_on:
- weather-backend
# Made with Bob