-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
102 lines (94 loc) · 2.75 KB
/
docker-compose.yaml
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
services:
owdp-frost:
container_name: owdp-frost
build:
context: ./docker/frost
environment:
- serviceRootUrl=${OWDP_URL}/FROST-Server
- persistence_db_url=jdbc:postgresql://owdp-database:5432/sensorthings
- persistence_db_username=sensorthings
- persistence_db_password=ChangeMe
- persistence_autoUpdateDatabase=true
ports:
- 1883:1883
- 8080:8080
depends_on:
- owdp-database
owdp-database:
container_name: owdp-database
build:
context: ./docker/database
environment:
- POSTGRES_DB=sensorthings
- POSTGRES_USER=sensorthings
- POSTGRES_PASSWORD=ChangeMe
volumes:
- postgis_volume:/var/lib/postgresql/data
owdp-pygeoapi:
container_name: owdp-pygeoapi
build:
context: docker/pygeoapi
depends_on:
- owdp-frost
environment:
- API_URL=${OWDP_URL}/oapi
- API_BACKEND_URL=http://owdp-frost:8080/FROST-Server/v1.1
- SCRIPT_NAME=/oapi
owdp-ui:
image: internetofwater/hub2box-ui:owdp-limited
container_name: owdp-ui
depends_on:
- owdp-pygeoapi
environment:
- WIS2BOX_URL=${OWDP_URL}
- WIS2BOX_API_URL=${OWDP_URL}/oapi
- serviceRootUrl=${OWDP_URL}/FROST-Server
web-proxy:
container_name: web-proxy
build:
context: docker/nginx
restart: always
depends_on:
- owdp-ui
ports:
- 8999:80
owdp-dagster:
container_name: owdp-dagster
build:
# have to use . as context so we can get requirements.txt in the context but
# also have it at the root for local dev
context: .
dockerfile: ./docker/dagster/Dockerfile
ports:
- 3000:3000
restart: always
environment:
- SLACK_BOT_TOKEN
- API_BACKEND_URL=http://owdp-frost:8080/FROST-Server/v1.1
deploy:
resources:
limits:
cpus: "7"
memory: 4GB
# only spin up the docker container for dagster if we are in production
# otherwise we want to use uv with hot reloading using dagster dev
profiles: [production]
owdp-container-monitor:
build:
context: ./docker/container_monitor
container_name: owdp-container-monitor
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- SLACK_BOT_TOKEN
# NOTE, no # needed here for the channel name
- SLACK_CHANNEL_NAME=cgs-iow-bots
- SLACK_BOT_NAME=Oregon Container Monitoring Bot
- SLACK_BOT_AVATAR=https://cida.usgs.gov/wsgi/ngwmn_ui/static/img/provider_logos/owrd_logo.50b3448a.png
- LOG_WATCH_CONTAINER_NAME=owdp-frost
- LOG_WATCH_COMMA_SEPARATED_PATTERNS=Slow Query
# Don't monitor containers in the dev env or CI/CD
profiles: [production]
restart: always
volumes:
postgis_volume: