wanhanisah's picture
Update Dockerfile
bb5ca8f verified
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.0/containers/python-3/.devcontainer/base.Dockerfile
# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster
FROM tensorflow/tensorflow:2.9.1-gpu
# System deps
RUN apt-get update && \
apt-get install -y ffmpeg libopenexr-dev && \
rm -rf /var/lib/apt/lists/*
# Python deps (TF 2.9 needs protobuf <= 3.20.x)
RUN pip install --upgrade pip "protobuf<=3.20.3" && \
pip install \
tensorflow-addons \
tensorflow-mri \
h5py \
numpy \
pandas \
matplotlib \
pillow \
nibabel \
scikit-image \
opencv-python \
pydicom \
scikit-learn \
tqdm \
tabulate \
pingouin \
openpyxl \
streamlit \
ffmpeg-python \
gdown==2.3.1 \
gputil \
typing_extensions
# App
WORKDIR /app
COPY . /app
# Env (make matplotlib happy; disable Streamlit telemetry)
ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false \
PYTHONUNBUFFERED=1 \
MPLCONFIGDIR=/tmp/mpl
# Optional: EXPOSE is ignored by Spaces, but fine for local runs
EXPOSE 8501
# Start the app
CMD sh -c 'streamlit run app.py --server.port=${PORT:-8501} --server.address=0.0.0.0 --server.enableXsrfProtection=false'