forked from NOAA-OWP/auto-eval-coordinator
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose-local.yml
More file actions
79 lines (73 loc) · 2.3 KB
/
docker-compose-local.yml
File metadata and controls
79 lines (73 loc) · 2.3 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
services:
stac-fastapi-pgstac:
container_name: stac-fastapi-pgstac
image: ghcr.io/stac-utils/stac-fastapi-pgstac:4.0.3
command: bash -c "python -m stac_fastapi.pgstac.app"
healthcheck:
test: ["CMD-SHELL", "python -c \"import urllib.request; response = urllib.request.urlopen('http://localhost:8888/_mgmt/ping'); exit(0 if b'PONG' in response.read() else 1)\""]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
env_file:
- ./.env
depends_on:
pgstac:
condition: service_healthy
networks:
- autoeval-net
ports:
- 8082:8888
pgstac:
container_name: pgstac
image: ghcr.io/stac-utils/pgstac:v0.9.6
volumes:
- "./.data/pgstac:/var/lib/postgresql/data"
env_file:
- ./.env
healthcheck:
test: ["CMD-SHELL", "pg_isready -U pgstac -d postgis"]
interval: 10s
timeout: 5s
retries: 5
networks:
- autoeval-net
asset-server:
container_name: asset-server
image: nginx:alpine
volumes:
- ./testdata/benchmark/assets:/usr/share/nginx/html:ro
environment:
- NGINX_PORT=8889
command: |
sh -c "sed -i 's/listen 80;/listen 8889;/g' /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
networks:
- autoeval-net
ports:
- 8889:8889
nomad-server:
container_name: nomad-server
image: local-nomad-server:latest
privileged: true
volumes:
# Docker socket access required for Nomad to manage Docker containers as a task driver
- /var/run/docker.sock:/var/run/docker.sock
- ./local-nomad/nomad-server.hcl:/etc/nomad/nomad.hcl
# preserver nomad state
# this is only working if .data/nomad/data is created on host beforehand
- ./.data/nomad:/nomad
# cgroup filesystem access required for Nomad client to manage process isolation and resource limits
- /sys/fs/cgroup:/sys/fs/cgroup:rw
- /tmp:/tmp
# Docker container logs directory for Nomad to read container logs
- /var/lib/docker/containers:/var/lib/docker/containers:ro
environment:
- NOMAD_ADDR=${NOMAD_ADDR}
command: ["nomad", "agent", "-config", "/etc/nomad/nomad.hcl"]
networks:
- autoeval-net
ports:
- 4646:4646
networks:
autoeval-net:
driver: bridge