# 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'