-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
128 lines (124 loc) · 3.77 KB
/
docker-compose.yaml
File metadata and controls
128 lines (124 loc) · 3.77 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright 2025 Nokia
# Licensed under the MIT License.
# SPDX-License-Identifier: MIT
name: openvps
services:
backend:
build:
context: mapbuilder/Backend
additional_contexts:
- hloc_context=Hierarchical-Localization
- scripts_context=mapbuilder/scripts_mapping
dockerfile: Dockerfile
args:
- HTTP_PROXY=${MY_HTTP_PROXY}
- HTTPS_PROXY=${MY_HTTPS_PROXY}
- USER_ID=${MY_USER_ID}
- GROUP_ID=${MY_GROUP_ID}
healthcheck:
test: [ "CMD", "curl", "--noproxy", "*", "--fail", "--silent", "--write-out", "'HTTP %{http_code}'", "http://localhost:3000/healthcheck" ]
interval: 2s
timeout: 5s
retries: 20
expose:
- 3000
environment:
- AUTH_FUSIONAUTH_ID=${AUTH_FUSIONAUTH_ID}
- AUTH_FUSIONAUTH_SECRET=${AUTH_FUSIONAUTH_SECRET}
- AUTH_FUSIONAUTH_ISSUER=${AUTH_FUSIONAUTH_ISSUER}
- AUTH_SECRET=${AUTH_SECRET}
- MAPLOCALIZER_URL=http://maplocalizer:8000
- DEFAULT_LONGITUDE=${DEFAULT_LONGITUDE}
- DEFAULT_LATITUDE=${DEFAULT_LATITUDE}
- DEFAULT_HEIGHT=${DEFAULT_HEIGHT}
- NODE_TLS_REJECT_UNAUTHORIZED=0
volumes:
- ${MY_SHARED_MAPS_DIR}:/uploads
shm_size: 4GB
deploy:
# https://docs.docker.com/reference/compose-file/deploy/
restart_policy:
condition: unless-stopped
resources:
reservations:
devices:
- driver: nvidia
count: 1 # alternatively, use `count: all` for all GPUs
capabilities: [gpu]
mapaligner:
build:
context: mapaligner
dockerfile: Dockerfile
args:
- HTTP_PROXY=${MY_HTTP_PROXY}
- HTTPS_PROXY=${MY_HTTPS_PROXY}
- NEXT_PUBLIC_DEFAULT_LONGITUDE=${DEFAULT_LONGITUDE}
- NEXT_PUBLIC_DEFAULT_LATITUDE=${DEFAULT_LATITUDE}
- NEXT_PUBLIC_DEFAULT_HEIGHT=${DEFAULT_HEIGHT}
depends_on:
backend:
condition: service_healthy
environment:
- AUTH_FUSIONAUTH_ID=${AUTH_FUSIONAUTH_ID}
- AUTH_FUSIONAUTH_SECRET=${AUTH_FUSIONAUTH_SECRET}
- AUTH_FUSIONAUTH_ISSUER=${AUTH_FUSIONAUTH_ISSUER}
- AUTH_SECRET=${AUTH_SECRET}
- AUTH_URL=${MAPALIGNER_URL}
- AUTH_TRUST_HOST=1
- MAPBUILDER_URL=${MAPBUILDER_URL}
- NEXT_PUBLIC_DEFAULT_LONGITUDE=${DEFAULT_LONGITUDE}
- NEXT_PUBLIC_DEFAULT_LATITUDE=${DEFAULT_LATITUDE}
- NEXT_PUBLIC_DEFAULT_HEIGHT=${DEFAULT_HEIGHT}
- NODE_TLS_REJECT_UNAUTHORIZED=0
deploy:
restart_policy:
condition: unless-stopped
ports:
- ${MAPALIGNER_PORT}:3001
maplocalizer:
build:
context: maplocalizer
dockerfile: Dockerfile
additional_contexts:
- hloc_context=Hierarchical-Localization
args:
- HTTP_PROXY=${MY_HTTP_PROXY}
- HTTPS_PROXY=${MY_HTTPS_PROXY}
depends_on:
backend:
condition: service_healthy
volumes:
- ${MY_SHARED_MAPS_DIR}:/uploads
deploy:
# https://docs.docker.com/reference/compose-file/deploy/
restart_policy:
condition: unless-stopped
resources:
reservations:
devices:
- driver: nvidia
# alternatively, use `count: all` for all GPUs
count: 1
capabilities: [gpu]
shm_size: 4GB
ports:
- ${MAPLOCALIZER_PORT}:8000
frontend:
build:
context: mapbuilder/Frontend
dockerfile: Dockerfile
args:
- HTTP_PROXY=${MY_HTTP_PROXY}
- HTTPS_PROXY=${MY_HTTPS_PROXY}
- MAPALIGNER_URL=${MAPALIGNER_URL}
depends_on:
backend:
condition: service_healthy
deploy:
restart_policy:
condition: unless-stopped
ports:
- ${MAPBUILDER_PORT}:80
- ${MAPBUILDER_PORT_HTTPS}:443
volumes:
- ./mapbuilder/certs:/etc/nginx/certs:RO