-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdocker-compose.prod.yaml
More file actions
151 lines (141 loc) · 4.46 KB
/
Copy pathdocker-compose.prod.yaml
File metadata and controls
151 lines (141 loc) · 4.46 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
services:
climsoft_nginx_proxy:
image: climsoftdevelopers/climsoft-nginx-proxy:preview-3.0.2
container_name: climsoft-nginx-proxy
restart: always
ports: # Expose to external network
- "${HOST_HTTP_PORT}:80"
depends_on:
- climsoft_pwa
- climsoft_api
networks:
- climsoft_network
climsoft_pwa:
image: climsoftdevelopers/climsoft-pwa:preview-3.0.2
container_name: climsoft-pwa
restart: always
environment:
HOST_IP_ADDRESS: "${HOST_IP_ADDRESS}" # used in config.json.
HOST_HTTP_PORT: "${HOST_HTTP_PORT}" # used in config.json.
expose:
- 80 # Expose to internal network only.
depends_on:
- climsoft_api
networks:
- climsoft_network
climsoft_api:
image: climsoftdevelopers/climsoft-api:preview-3.0.2
container_name: climsoft-api
restart: always
environment:
DB_HOST: climsoft_db
DB_PORT: 5432
DB_NAME: "${DB_NAME}"
DB_USERNAME: postgres
DB_PASSWORD: "${DB_PASSWORD}"
ENCRYPTION_SECRET: "${ENCRYPTION_SECRET}"
FIRST_INSTALL: "${FIRST_INSTALL}"
V4_SAVE: "${V4_SAVE}"
V4_IMPORT: "${V4_IMPORT}"
V4_DB_HOST: "${V4_DB_HOST}"
V4_DB_PORT: "${V4_DB_PORT}"
V4_DB_NAME: "${V4_DB_NAME}"
V4_DB_USERNAME: "${V4_DB_USERNAME}"
V4_DB_PASSWORD: "${V4_DB_PASSWORD}"
V4_DB_UTCOFFSET: "${V4_DB_UTCOFFSET}"
PYTHON_RUNNER_ENABLED: "${PYTHON_RUNNER_ENABLED:-false}"
PYTHON_RUNNER_HOST: climsoft_python_runner
PYTHON_RUNNER_PORT: 5101
R_RUNNER_ENABLED: "${R_RUNNER_ENABLED:-false}"
R_RUNNER_HOST: climsoft_r_runner
R_RUNNER_PORT: 5102
JAVASCRIPT_RUNNER_ENABLED: "${JAVASCRIPT_RUNNER_ENABLED:-false}"
JAVASCRIPT_RUNNER_HOST: climsoft_javascript_runner
JAVASCRIPT_RUNNER_PORT: 5103
DUCKDB_RUNNER_ENABLED: "${DUCKDB_RUNNER_ENABLED:-false}"
DUCKDB_RUNNER_HOST: climsoft_duckdb_runner
DUCKDB_RUNNER_PORT: 5104
expose:
- 3000
depends_on:
climsoft_db:
condition: service_healthy
volumes:
- climsoft_operations:/app/operations
- climsoft_adapters:/app/adapters
networks:
- climsoft_network
climsoft_python_runner:
image: climsoftdevelopers/climsoft-python-runner:preview-3.0.2
container_name: climsoft-python-runner
restart: always
profiles: ["adapters-python"]
expose:
- 5101
volumes:
- climsoft_adapters:/app/adapters
- climsoft_operations:/app/operations
networks:
- climsoft_network
climsoft_r_runner:
image: climsoftdevelopers/climsoft-r-runner:preview-3.0.2
container_name: climsoft-r-runner
restart: always
profiles: ["adapters-r"]
expose:
- 5102
volumes:
- climsoft_adapters:/app/adapters
- climsoft_operations:/app/operations
networks:
- climsoft_network
climsoft_javascript_runner:
image: climsoftdevelopers/climsoft-javascript-runner:preview-3.0.2
container_name: climsoft-javascript-runner
restart: always
profiles: ["adapters-javascript"]
expose:
- 5103
volumes:
- climsoft_adapters:/app/adapters
- climsoft_operations:/app/operations
networks:
- climsoft_network
climsoft_duckdb_runner:
image: climsoftdevelopers/climsoft-duckdb-runner:preview-3.0.2
container_name: climsoft-duckdb-runner
restart: always
profiles: ["adapters-duckdb"]
expose:
- 5104
volumes:
- climsoft_adapters:/app/adapters
- climsoft_operations:/app/operations
networks:
- climsoft_network
climsoft_db:
image: postgis/postgis:17-3.5
container_name: climsoft-db
restart: always
environment:
POSTGRES_DB: "${DB_NAME}" # Default database postgres will create, required when setting up postgres the first time.
POSTGRES_USER: postgres # Uses the default postgres username for simplicity, required when setting up postgres the first time.
POSTGRES_PASSWORD: "${DB_PASSWORD}" # Super user password, required when setting up postgres the first time.
ports:
- "5432:5432" # Expose to both external and internal network.
volumes:
- climsoft_database:/var/lib/postgresql/data
- climsoft_operations:/var/lib/postgresql/operations
networks:
- climsoft_network
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 5s
timeout: 3s
retries: 10
volumes:
climsoft_database:
climsoft_operations:
climsoft_adapters:
networks:
climsoft_network: