Files
ml-sdk/docker/Dockerfile.release
zeekay bde2e2531b Initial commit: Lux FHE ML SDK
Machine Learning with FHE - fork of Zama Concrete-ML
- Built-in FHE-friendly ML models
- scikit-learn compatible API
- PyTorch model conversion
- Quantization-aware training
2025-12-27 21:08:09 -08:00

48 lines
1.3 KiB
Docker

# syntax=docker/dockerfile:1
ARG UBUNTU_BASE=20.04
FROM ubuntu:${UBUNTU_BASE}
ENV TZ=Europe/Paris
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir /pkg && mkdir /app
WORKDIR /pkg
COPY docker/release_resources/release_requirements.txt .
COPY ./pkg/*.whl .
RUN --mount=type=secret,id=build-env \
. /run/secrets/build-env && \
apt-get update && apt-get upgrade --no-install-recommends -y && \
apt-get install --no-install-recommends -y \
build-essential \
python3-pip \
python3.8 \
python3.8-dev \
python3.8-tk \
python-is-python3 \
git \
graphviz* && \
rm -rf /var/lib/apt/lists/* && \
python3 -m pip install --no-cache-dir --upgrade pip wheel setuptools && \
echo "export MPLBACKEND=TkAgg" >> /root/.bashrc && \
python3 -m pip install --no-cache-dir "$(ls ./*.whl)" && \
python3 -m pip install --no-cache-dir -r release_requirements.txt
WORKDIR /app
COPY docker/release_resources/entry_point.sh ./entry_point.sh
RUN mkdir /data
# Add a non-root user and group
RUN groupadd -g 10001 grp02 && \
useradd -u 10000 -g grp02 usr01 && \
chown -R usr01:grp02 /data /app /pkg && \
chmod -R g+rw /data /app /pkg
# Switch to the non-root user
USER usr01:grp02
WORKDIR /data
VOLUME [ "/data" ]
CMD ["/bin/bash", "-i", "/app/entry_point.sh"]