-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
213 lines (207 loc) · 8.38 KB
/
docker-compose.yml
File metadata and controls
213 lines (207 loc) · 8.38 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# Port ranges (by convention):
# - API: 3000-3999
# - Services: 4000-4999
# - Mocks: 5000-5999
# - Documentation: 7000-7999
# - Websites: 9000-9999
services:
redis:
image: redis:6.2.5-alpine
container_name: redis
command: redis-server --requirepass some_redis_password
ports:
- 6379:6379
applications-service-api:
image: node:22-alpine3.22
user: node
container_name: applications-service-api
environment:
GIT_SHA: example-git-sha
APPLICATIONS_WEB_BASE_URL: http://forms-web-app:9004
AZURE_BLOB_STORE_HOST: https://nsip-documents.planninginspectorate.gov.uk/
BACK_OFFICE_BLOB_STORAGE_DEADLINE_SUBMISSION_URL: http://localhost:10000/
BACK_OFFICE_BLOB_STORAGE_DEADLINE_SUBMISSION_CONTAINER: application-submission-documents
BACK_OFFICE_API_INTEGRATION_CASE_REFERENCES: BC0110001,BC0110003,BC0110004,BC0110005,GS5110001
# Commented as BACK_OFFICE_API_INTEGRATION_CASE_REFERENCES replaces them all
# BACK_OFFICE_INTEGRATION_GET_APPLICATION_CASE_REFERENCES: BC0110001,EN0110004,EN0310004
# BACK_OFFICE_INTEGRATION_GET_DOCUMENTS_CASE_REFERENCES: BC0110001,EN0100085,EN0110004,EN0310004
# BACK_OFFICE_INTEGRATION_GET_TIMETABLE_CASE_REFERENCES: BC0110001
# BACK_OFFICE_INTEGRATION_GET_ADVICE_CASE_REFERENCES: BC0110001
# BACK_OFFICE_INTEGRATION_POST_INTERESTED_PARTY_CASE_REFERENCES: BC0110001
# BACK_OFFICE_INTEGRATION_POST_SUBMISSIONS_CASE_REFERENCES: BC0110001
# BACK_OFFICE_INTEGRATION_GET_REPRESENTATION_CASE_REFERENCES: BC0110001
BACK_OFFICE_SERVICE_BUS_ENABLED: false
BACK_OFFICE_INTEGRATION_GET_APPLICATIONS: MERGE
BACK_OFFICE_SERVICE_BUS_HOSTNAME: pins-sb-back-office-dev-ukw-001.servicebus.windows.net
DATABASE_URL: sqlserver://mssql:1433;database=pins_applications_development;user=sa;password=dbPASSw0_rd;trustServerCertificate=true
DOCS_API_PATH: /opt/app/packages/applications-service-api/api
DOCUMENTS_HOST: https://nitestaz.planninginspectorate.gov.uk/wp-content/ipc/uploads/projects/
DOCUMENTS_PER_PAGE: 20
DOCUMENTS_SERVICE_API_URL: http://document-service-api:3000
ENCRYPTION_SECRET_KEY: ${ENCRYPTION_SECRET_KEY}
FEATURE_ALLOW_WELSH_TRANSLATION: 'true'
FEATURE_APPLICATION_INSIGHTS: 'false'
FEATURE_ALLOW_WELSH_CASES: 'true'
FEATURE_REGISTER_OF_ADVICE: 'true'
FILE_UPLOADS_PATH: /opt/app/uploads
LOGGER_LEVEL: debug
MYSQL_USERNAME: pins
MYSQL_PASSWORD: pins
MYSQL_DATABASE: ipclive
MYSQL_HOST: db
MYSQL_PORT: 3306
MYSQL_DIALECT: mysql
NODE_ENV: local
NI_API_HOST: api-mock-server:1080
NI_OAUTH_CLIENT_ID: some-client-id
NI_OAUTH_CLIENT_SECRET: some-client-secret
NI_OAUTH_USERNAME: some-username
NI_OAUTH_PASSWORD: some-password
REDIS_CONNECTION_STRING: redis:6379,password=some_redis_password,ssl=False,abortConnect=False
REDIS_CACHE_ENABLED: 'false'
SERVER_SHOW_ERRORS: 'true'
SRV_NOTIFY_API_KEY: applicationsservice-9b89eb93-3071-432c-9c6b-4e07dbda9071-101fa83a-8d08-40af-92b6-246b95074e5a
SRV_NOTIFY_BASE_URL: https://api.notifications.service.gov.uk/
SRV_NOTIFY_IP_REGISTRATION_CONFIRMATION_EMAIL_TO_IP: 830c9c01-1f81-4198-be72-11ab173c128a
SRV_NOTIFY_IP_REGISTRATION_CONFIRMATION_EMAIL_TO_IP_WELSH: a773d70c-ebbc-42dc-b4c8-d862eb9e67de
SRV_NOTIFY_SUBMISSION_COMPLETE_EMAIL: e900038b-f112-4862-9a93-0b8bbb48a09c
SRV_NOTIFY_SUBMISSION_COMPLETE_EMAIL_WELSH: 23bcc129-d6b7-4f8b-baf8-e9713de007fe
SRV_NOTIFY_SERVICE_ID: 9b89eb93-3071-432c-9c6b-4e07dbda9071
SRV_NOTIFY_SUBSCRIPTION_CREATE_EMAIL: cb987449-fad5-485f-aef1-9c5c616c6d42
SRV_NOTIFY_SUBSCRIPTION_CREATE_EMAIL_WELSH: 924ab550-4e03-402f-991e-06fdada06064
ports:
- 3000:3000
- 9230:9229
working_dir: /opt/app
volumes:
- ./package.json:/opt/app/package.json
- ./node_modules:/opt/app/node_modules
- ./packages/common:/opt/app/packages/common
- ./packages/applications-service-api:/opt/app/packages/applications-service-api
- ./packages/common:/opt/app/node_modules/@pins/common
- ./uploads:/opt/app/uploads
# command: npm run start:dev:debug --workspace=packages/applications-service-api
command: npm run start:dev --workspace=packages/applications-service-api
applications-web-app:
image: node:22-alpine3.22
user: node
container_name: applications-web-app
environment:
GIT_SHA: example-git-sha
ACTIVATE_PLANNED_OUTAGE: 'false'
BACK_OFFICE_INTEGRATION_GET_APPLICATIONS: MERGE
APPLICATIONS_SERVICE_API_URL: http://applications-service-api:3000
DOCUMENTS_SERVICE_API_URL: http://document-service-api:3000
FEATURE_ALLOW_WELSH_TRANSLATION: 'true'
FEATURE_ALLOW_WELSH_CASES: 'true'
FEATURE_ENABLE_PROJECTS_MAP: 'true'
FEATURE_APPLICATION_INSIGHTS: 'false'
FEATURE_HOME_PAGE: 'true'
FEATURE_PRIMARY_NAVIGATION: 'true'
FEATURE_REDIS_SESSION_STORE: 'true'
FEATURE_SAVE_AND_EXIT_OPTION: 'false'
FEATURE_SHOW_AFFECTED_AREA_SECTION: 'false'
FEATURE_ENABLED_CONTENT_SECURITY_POLICY: 'true'
FEATURE_ENABLE_GENERALISED_FORM_SANITISATION: 'true'
FEATURE_GENERAL_S51_BO: 'true'
FEATURE_PROJECT_INFORMATION: 'true'
FEATURE_REGISTER_OF_ADVICE: 'true'
FILE_UPLOAD_DEBUG: 'false'
FILE_UPLOAD_MAX_FILE_SIZE_BYTES: 15000000
FILE_UPLOAD_TMP_PATH: /tmp
FILE_UPLOAD_USE_TEMP_FILES: 'true'
GLOBAL_BANNER_TEXT: ''
GOOGLE_ANALYTICS_ID: G-X21W2S2FN3
HOST_URL: http://localhost:9004/
OPEN_REGISTRATION_CASE_REFERENCES: 'EN010102, EN013014'
PDF_SERVICE_API_URL: http://pdf-service-api:3000
PLANNED_OUTAGE_RESUME_TEXT: 'Sample service resume text'
REDIS_CONNECTION_STRING: redis:6379,password=some_redis_password,ssl=False,abortConnect=False
REDIS_CACHE_ENABLED: 'false'
REDIS_CACHE_TTL: 3600
SESSION_KEY: some_secure_key_goes_here
# please override this locally if using not using localhost or ip address to browse the site in dev.
SUBDOMAIN_OFFSET: 0
USE_SECURE_SESSION_COOKIES: 'false'
working_dir: /opt/app
volumes:
- ./package.json:/opt/app/package.json
- ./node_modules:/opt/app/node_modules
- ./packages/common:/opt/app/packages/common
- ./packages/forms-web-app:/opt/app/packages/forms-web-app
- ./packages/common:/opt/app/node_modules/@pins/common
- ./uploads:/opt/app/uploads
# if enabling debug, be sure to uncomment / expose the debug port below.
command: npm run start:dev --workspace=packages/forms-web-app
# command: npm run start:dev:debug --workspace=packages/forms-web-app
ports:
- 9004:3000
# - 9229:9229
links:
- applications-service-api
depends_on:
- applications-service-api
db:
image: mysql:5.6.51
platform: linux/x86_64
container_name: ni_db
cap_add:
- SYS_NICE # CAP_SYS_NICE
command: |
--default-authentication-plugin=mysql_native_password
--sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: ipclive
MYSQL_USER: pins
MYSQL_PASSWORD: pins
MYSQL_ROOT_HOST: '%'
ports:
- 3306:3306
volumes:
- ./init:/docker-entrypoint-initdb.d
api-mock-server:
image: mockserver/mockserver:5.14.0
container_name: api-mock-server
environment:
MOCKSERVER_WATCH_INITIALIZATION_JSON: 'true'
MOCKSERVER_INITIALIZATION_JSON_PATH: /config/init.json
ports:
- 1080:1080
volumes:
- ./mock-server:/config
mssql:
image: mcr.microsoft.com/azure-sql-edge:latest
platform: linux/x86_64
container_name: mssql
cap_add: [ 'SYS_PTRACE' ]
user: root
environment:
- 'ACCEPT_EULA=1'
- 'MSSQL_SA_PASSWORD=dbPASSw0_rd'
ports:
- 1433:1433
hostname: mssql
volumes:
- ./init/mssql/mssql.conf:/var/opt/mssql/mssql.conf
- ./init/mssql/data:/var/opt/mssql/data
# redis-commander:
# container_name: redis-commander
# hostname: redis-commander
# image: rediscommander/redis-commander:latest
# restart: always
# environment:
# REDIS_HOSTS: redis
# REDIS_HOST: redis
# REDIS_PORT: redis:6379
# REDIS_PASSWORD: some_redis_password
# ports:
# - "8081:8081"
#
# adminer:
# image: adminer
# container_name: adminer
# restart: always
# ports:
# - 9000:8080