1
1
# Build container
2
- FROM node:20.15.1 -alpine AS builder
2
+ FROM node:22.14.0 -alpine AS builder
3
3
4
4
# Set the working directory to /app inside the container
5
5
WORKDIR /app
@@ -18,7 +18,7 @@ RUN npm prune --production
18
18
19
19
20
20
# Deployment container
21
- FROM node:20.15.1 -alpine
21
+ FROM node:22.14.0 -alpine
22
22
RUN npm cache clean --force
23
23
24
24
# Create and Assign permissions to npm folder
@@ -28,46 +28,86 @@ RUN mkdir /.npm && chmod 777 /.npm
28
28
WORKDIR /app
29
29
30
30
# Set node to production
31
- ENV NODE_ENV ${NODE_ENV}
31
+ ARG NODE_ENV
32
+ ENV NODE_ENV=${NODE_ENV}
33
+
34
+
35
+ ARG DB_TYPE
36
+ ARG SCHEDULER_API_LOG_LEVEL
37
+ ARG SCHEDULER_API_TYPEORM_LOG_LEVEL
38
+ ARG SCHEDULER_API_MAX_QUERY_EXECUTION_TIME_MS
39
+ ARG SCHEDULER_API_MSSQL_MAX_CONNECTION
40
+ ARG MSSQL_HOST
41
+ ARG MSSQL_PORT
42
+ ARG MSSQL_DB
43
+ ARG MSSQL_SA_USER
44
+ ARG MSSQL_SA_PASSWORD
45
+ ARG MSSQL_ENCRYPT
46
+ ARG KEYCLOAK_ISSUER_URL
47
+ ARG KEYCLOAK_AUDIENCE
48
+ ARG KEYCLOAK_IGNORE_EXP
49
+ ARG OCIO_S3_ACCESSKEYID
50
+ ARG OCIO_S3_BUCKET
51
+ ARG OCIO_S3_PRESIGNED_URL_EXPIRY
52
+ ARG OCIO_S3_ENDPOINT
53
+ ARG OCIO_S3_KEY
54
+ ARG OCIO_S3_SECRETACCESSKEY
55
+ ARG TPS_POLL_LIMIT
56
+ ARG TPS_PENDING_POLLING_INTERVAL
57
+ ARG TPS_ERROR_POLLING_INTERVAL
58
+ ARG TPS_MONITORING_POLLING_INTERVAL
59
+ ARG CFS_PRIVATE_KEY
60
+ ARG CFS_PRIVATE_KEY_PASSPHRASE
61
+ ARG CFS_SFTP_USERNAME
62
+ ARG CFS_SFTP_HOST
63
+ ARG CFS_SFTP_PORT
64
+ ARG CFS_REMOTE_PATH
65
+ ARG ORBC_SERVICE_ACCOUNT_CLIENT_ID
66
+ ARG ORBC_SERVICE_ACCOUNT_CLIENT_SECRET
67
+ ARG ORBC_SERVICE_ACCOUNT_TOKEN_URL
68
+ ARG ACCESS_API_URL
69
+ ARG ISSUE_PERMIT_LIMIT
70
+ ARG DOC_GEN_LIMIT
71
+ ARG PERMIT_SCHEDULE_POLLING_INTERVAL
32
72
33
73
# Set environment variables
34
- ENV DB_TYPE ${DB_TYPE}
35
- ENV SCHEDULER_API_LOG_LEVEL ${SCHEDULER_API_LOG_LEVEL}
36
- ENV SCHEDULER_API_TYPEORM_LOG_LEVEL ${SCHEDULER_API_TYPEORM_LOG_LEVEL}
37
- ENV SCHEDULER_API_MAX_QUERY_EXECUTION_TIME_MS ${SCHEDULER_API_MAX_QUERY_EXECUTION_TIME_MS}
38
- ENV SCHEDULER_API_MSSQL_MAX_CONNECTION ${SCHEDULER_API_MSSQL_MAX_CONNECTION}
39
- ENV MSSQL_HOST ${MSSQL_HOST}
40
- ENV MSSQL_PORT ${MSSQL_PORT}
41
- ENV MSSQL_DB ${MSSQL_DB}
42
- ENV MSSQL_SA_USER ${MSSQL_SA_USER}
43
- ENV MSSQL_SA_PASSWORD ${MSSQL_SA_PASSWORD}
44
- ENV MSSQL_ENCRYPT ${MSSQL_ENCRYPT}
45
- ENV KEYCLOAK_ISSUER_URL ${KEYCLOAK_ISSUER_URL}
46
- ENV KEYCLOAK_AUDIENCE ${KEYCLOAK_AUDIENCE}
47
- ENV KEYCLOAK_IGNORE_EXP ${KEYCLOAK_IGNORE_EXP}
48
- ENV OCIO_S3_ACCESSKEYID ${OCIO_S3_ACCESSKEYID}
49
- ENV OCIO_S3_BUCKET ${OCIO_S3_BUCKET}
50
- ENV OCIO_S3_PRESIGNED_URL_EXPIRY ${OCIO_S3_PRESIGNED_URL_EXPIRY}
51
- ENV OCIO_S3_ENDPOINT ${OCIO_S3_ENDPOINT}
52
- ENV OCIO_S3_KEY ${OCIO_S3_KEY}
53
- ENV OCIO_S3_SECRETACCESSKEY ${OCIO_S3_SECRETACCESSKEY}
54
- ENV TPS_POLL_LIMIT ${TPS_POLL_LIMIT}
55
- ENV TPS_PENDING_POLLING_INTERVAL ${TPS_PENDING_POLLING_INTERVAL}
56
- ENV TPS_ERROR_POLLING_INTERVAL ${TPS_ERROR_POLLING_INTERVAL}
57
- ENV TPS_MONITORING_POLLING_INTERVAL ${TPS_MONITORING_POLLING_INTERVAL}
58
- ENV CFS_PRIVATE_KEY ${CFS_PRIVATE_KEY}
59
- ENV CFS_PRIVATE_KEY_PASSPHRASE ${CFS_PRIVATE_KEY_PASSPHRASE}
60
- ENV CFS_SFTP_USERNAME ${CFS_SFTP_USERNAME}
61
- ENV CFS_SFTP_HOST ${CFS_SFTP_HOST}
62
- ENV CFS_SFTP_PORT ${CFS_SFTP_PORT}
63
- ENV CFS_REMOTE_PATH ${CFS_REMOTE_PATH}
64
- ENV ORBC_SERVICE_ACCOUNT_CLIENT_ID ${ORBC_SERVICE_ACCOUNT_CLIENT_ID}
65
- ENV ORBC_SERVICE_ACCOUNT_CLIENT_SECRET ${ORBC_SERVICE_ACCOUNT_CLIENT_SECRET}
66
- ENV ORBC_SERVICE_ACCOUNT_TOKEN_URL ${ORBC_SERVICE_ACCOUNT_TOKEN_URL}
67
- ENV ACCESS_API_URL ${ACCESS_API_URL}
68
- ENV ISSUE_PERMIT_LIMIT ${ISSUE_PERMIT_LIMIT}
69
- ENV DOC_GEN_LIMIT ${DOC_GEN_LIMIT}
70
- ENV PERMIT_SCHEDULE_POLLING_INTERVAL ${PERMIT_SCHEDULE_POLLING_INTERVAL}
74
+ ENV DB_TYPE= ${DB_TYPE}
75
+ ENV SCHEDULER_API_LOG_LEVEL= ${SCHEDULER_API_LOG_LEVEL}
76
+ ENV SCHEDULER_API_TYPEORM_LOG_LEVEL= ${SCHEDULER_API_TYPEORM_LOG_LEVEL}
77
+ ENV SCHEDULER_API_MAX_QUERY_EXECUTION_TIME_MS= ${SCHEDULER_API_MAX_QUERY_EXECUTION_TIME_MS}
78
+ ENV SCHEDULER_API_MSSQL_MAX_CONNECTION= ${SCHEDULER_API_MSSQL_MAX_CONNECTION}
79
+ ENV MSSQL_HOST= ${MSSQL_HOST}
80
+ ENV MSSQL_PORT= ${MSSQL_PORT}
81
+ ENV MSSQL_DB= ${MSSQL_DB}
82
+ ENV MSSQL_SA_USER= ${MSSQL_SA_USER}
83
+ ENV MSSQL_SA_PASSWORD= ${MSSQL_SA_PASSWORD}
84
+ ENV MSSQL_ENCRYPT= ${MSSQL_ENCRYPT}
85
+ ENV KEYCLOAK_ISSUER_URL= ${KEYCLOAK_ISSUER_URL}
86
+ ENV KEYCLOAK_AUDIENCE= ${KEYCLOAK_AUDIENCE}
87
+ ENV KEYCLOAK_IGNORE_EXP= ${KEYCLOAK_IGNORE_EXP}
88
+ ENV OCIO_S3_ACCESSKEYID= ${OCIO_S3_ACCESSKEYID}
89
+ ENV OCIO_S3_BUCKET= ${OCIO_S3_BUCKET}
90
+ ENV OCIO_S3_PRESIGNED_URL_EXPIRY= ${OCIO_S3_PRESIGNED_URL_EXPIRY}
91
+ ENV OCIO_S3_ENDPOINT= ${OCIO_S3_ENDPOINT}
92
+ ENV OCIO_S3_KEY= ${OCIO_S3_KEY}
93
+ ENV OCIO_S3_SECRETACCESSKEY= ${OCIO_S3_SECRETACCESSKEY}
94
+ ENV TPS_POLL_LIMIT= ${TPS_POLL_LIMIT}
95
+ ENV TPS_PENDING_POLLING_INTERVAL= ${TPS_PENDING_POLLING_INTERVAL}
96
+ ENV TPS_ERROR_POLLING_INTERVAL= ${TPS_ERROR_POLLING_INTERVAL}
97
+ ENV TPS_MONITORING_POLLING_INTERVAL= ${TPS_MONITORING_POLLING_INTERVAL}
98
+ ENV CFS_PRIVATE_KEY= ${CFS_PRIVATE_KEY}
99
+ ENV CFS_PRIVATE_KEY_PASSPHRASE= ${CFS_PRIVATE_KEY_PASSPHRASE}
100
+ ENV CFS_SFTP_USERNAME= ${CFS_SFTP_USERNAME}
101
+ ENV CFS_SFTP_HOST= ${CFS_SFTP_HOST}
102
+ ENV CFS_SFTP_PORT= ${CFS_SFTP_PORT}
103
+ ENV CFS_REMOTE_PATH= ${CFS_REMOTE_PATH}
104
+ ENV ORBC_SERVICE_ACCOUNT_CLIENT_ID= ${ORBC_SERVICE_ACCOUNT_CLIENT_ID}
105
+ ENV ORBC_SERVICE_ACCOUNT_CLIENT_SECRET= ${ORBC_SERVICE_ACCOUNT_CLIENT_SECRET}
106
+ ENV ORBC_SERVICE_ACCOUNT_TOKEN_URL= ${ORBC_SERVICE_ACCOUNT_TOKEN_URL}
107
+ ENV ACCESS_API_URL= ${ACCESS_API_URL}
108
+ ENV ISSUE_PERMIT_LIMIT= ${ISSUE_PERMIT_LIMIT}
109
+ ENV DOC_GEN_LIMIT= ${DOC_GEN_LIMIT}
110
+ ENV PERMIT_SCHEDULE_POLLING_INTERVAL= ${PERMIT_SCHEDULE_POLLING_INTERVAL}
71
111
72
112
# Copy production files from build
73
113
COPY --from=builder /app/package*.json ./
0 commit comments