jclyo1's picture
Update Dockerfile
8122784 verified
FROM nvidia/cuda:12.0.0-cudnn8-devel-ubuntu22.04
# Using the Ubuntu image (our OS)
# Update package manager (apt-get)
# and install (with the yes flag `-y`)
# Python and Pip
RUN apt-get update && apt-get install -y \
python3-pip \
unzip \
jq \
curl \
wget
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# Set the working directory to the user's home directory
WORKDIR $HOME/app
# Download and unzip truepic-sign from Dropbox
RUN --mount=type=secret,id=truepic_sign_dropbox_url,mode=0444,required=true \
wget -O truepic-lens-cli-51f4cfbc6472a2205e53d726713619ca8df5340b-ubuntu-20.04.zip $(cat /run/secrets/truepic_sign_dropbox_url)
RUN unzip truepic-lens-cli-51f4cfbc6472a2205e53d726713619ca8df5340b-ubuntu-20.04.zip
RUN tar -xf truepic-lens-cli-51f4cfbc6472a2205e53d726713619ca8df5340b-ubuntu-20.04.tar.gz
RUN chmod +x truepic
RUN --mount=type=secret,id=api_key,mode=0444,required=true \
./truepic enroll file-system --api-key $(cat /run/secrets/api_key) --profile truepic
RUN --mount=type=secret,id=steg_profile_api_key,mode=0444,required=true \
./truepic enroll file-system --api-key $(cat /run/secrets/steg_profile_api_key) --profile steg
# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user . $HOME/app
WORKDIR $HOME/app
RUN chmod +x scripts/sign.sh
RUN chmod +x scripts/verify.sh
RUN chmod +x scripts/upload.sh
RUN chmod +w scripts/sign.sh
RUN chmod +w scripts/verify.sh
RUN chmod +w scripts/upload.sh
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]