ToolJet/docker/server.Dockerfile.dev
Akshay 1602317ad5
Add support for oracle 9i db (#6637)
* update oracledb package for node 18

* add oracle instant client 11 and 21 binaries for linux

* Revert "add oracle instant client 11 and 21 binaries for linux"

This reverts commit 9ba7d18685.

* add ability to specify instant client version

* update dockerfiles to include oracle 11 instant client

* update ami build for oracle instant client 11

* add data migration for oracle ds default client version 21

* remove console.log in code

* fix server dev dockerfile

* define LD_LIBRARY_PATH

* fix LD_LIBRARY_PATH assignment
2023-06-21 11:39:30 +05:30

33 lines
1.5 KiB
Text

# pull official base image
FROM node:18.3.0-buster
RUN apt-get update && apt-get install -y postgresql-client freetds-dev libaio1 wget
# Install Instantclient Basic Light Oracle and Dependencies
WORKDIR /opt/oracle
RUN wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip && \
wget https://tooljet-plugins-production.s3.us-east-2.amazonaws.com/marketplace-assets/oracledb/instantclients/instantclient-basiclite-linux.x64-11.2.0.4.0.zip && \
unzip instantclient-basiclite-linuxx64.zip && rm -f instantclient-basiclite-linuxx64.zip && \
unzip instantclient-basiclite-linux.x64-11.2.0.4.0.zip && rm -f instantclient-basiclite-linux.x64-11.2.0.4.0.zip && \
cd /opt/oracle/instantclient_21_10 && rm -f *jdbc* *occi* *mysql* *mql1* *ipc1* *jar uidrvci genezi adrci && \
cd /opt/oracle/instantclient_11_2 && rm -f *jdbc* *occi* *mysql* *mql1* *ipc1* *jar uidrvci genezi adrci && \
echo /opt/oracle/instantclient* > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig
# Set the Instant Client library paths
ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_11_2:/opt/oracle/instantclient_21_10:${LD_LIBRARY_PATH}"
WORKDIR /
ENV NODE_ENV=development
ENV NODE_OPTIONS="--max-old-space-size=4096"
RUN npm i -g npm@8.11.0
RUN mkdir -p /app
WORKDIR /app
COPY ./package.json ./package.json
# install app dependencies
COPY ./server/package.json ./server/package-lock.json ./server/
RUN npm --prefix server install
COPY ./server/ ./server/
ENTRYPOINT ["./server/entrypoint.sh"]