11# Build container
2- FROM node:20.15.1 -alpine AS builder
2+ FROM node:22.14.0 -alpine AS builder
33
44# Set the working directory to /app inside the container
55WORKDIR /app
@@ -18,7 +18,7 @@ RUN npm prune --production
1818
1919
2020# Deployment container
21- FROM node:20.15.1 -alpine
21+ FROM node:22.14.0 -alpine
2222RUN npm cache clean --force
2323
2424# Create and Assign permissions to npm folder
@@ -28,46 +28,86 @@ RUN mkdir /.npm && chmod 777 /.npm
2828WORKDIR /app
2929
3030# 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
3272
3373# 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}
71111
72112# Copy production files from build
73113COPY --from=builder /app/package*.json ./
0 commit comments