mirror of
https://github.com/Infisical/infisical.git
synced 2025-08-05 07:30:33 +00:00
86 lines
2.1 KiB
Docker
86 lines
2.1 KiB
Docker
FROM node:20-slim
|
|
|
|
# ? Setup a test SoftHSM module. In production a real HSM is used.
|
|
|
|
ARG SOFTHSM2_VERSION=2.5.0
|
|
|
|
ENV SOFTHSM2_VERSION=${SOFTHSM2_VERSION} \
|
|
SOFTHSM2_SOURCES=/tmp/softhsm2
|
|
|
|
# Install build dependencies including python3 (required for pkcs11js and partially TDS driver)
|
|
RUN apt-get update && apt-get install -y \
|
|
build-essential \
|
|
autoconf \
|
|
automake \
|
|
git \
|
|
libtool \
|
|
libssl-dev \
|
|
python3 \
|
|
make \
|
|
g++ \
|
|
openssh-client \
|
|
curl \
|
|
pkg-config \
|
|
perl \
|
|
wget
|
|
|
|
# Install dependencies for TDS driver (required for SAP ASE dynamic secrets)
|
|
RUN apt-get install -y \
|
|
unixodbc \
|
|
unixodbc-dev \
|
|
freetds-dev \
|
|
freetds-bin \
|
|
tdsodbc
|
|
|
|
RUN printf "[FreeTDS]\nDescription = FreeTDS Driver\nDriver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so\nSetup = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so\nFileUsage = 1\n" > /etc/odbcinst.ini
|
|
|
|
# Build and install SoftHSM2
|
|
RUN git clone https://github.com/opendnssec/SoftHSMv2.git ${SOFTHSM2_SOURCES}
|
|
WORKDIR ${SOFTHSM2_SOURCES}
|
|
|
|
RUN git checkout ${SOFTHSM2_VERSION} -b ${SOFTHSM2_VERSION} \
|
|
&& sh autogen.sh \
|
|
&& ./configure --prefix=/usr/local --disable-gost \
|
|
&& make \
|
|
&& make install
|
|
|
|
WORKDIR /root
|
|
RUN rm -fr ${SOFTHSM2_SOURCES}
|
|
|
|
# Install pkcs11-tool
|
|
RUN apt-get install -y opensc
|
|
|
|
RUN mkdir -p /etc/softhsm2/tokens && \
|
|
softhsm2-util --init-token --slot 0 --label "auth-app" --pin 1234 --so-pin 0000
|
|
|
|
WORKDIR /openssl-build
|
|
RUN wget https://www.openssl.org/source/openssl-3.1.2.tar.gz \
|
|
&& tar -xf openssl-3.1.2.tar.gz \
|
|
&& cd openssl-3.1.2 \
|
|
&& ./Configure enable-fips \
|
|
&& make \
|
|
&& make install_fips
|
|
|
|
# ? App setup
|
|
|
|
# Install Infisical CLI
|
|
RUN curl -1sLf 'https://artifacts-cli.infisical.com/setup.deb.sh' | bash && \
|
|
apt-get update && \
|
|
apt-get install -y infisical=0.41.2
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package.json
|
|
COPY package-lock.json package-lock.json
|
|
|
|
RUN npm install
|
|
|
|
COPY . .
|
|
|
|
ENV HOST=0.0.0.0
|
|
ENV OPENSSL_CONF=/app/nodejs.cnf
|
|
ENV OPENSSL_MODULES=/usr/local/lib/ossl-modules
|
|
ENV NODE_OPTIONS=--force-fips
|
|
|
|
CMD ["npm", "run", "dev:docker"]
|