| |
|
| | FROM python:3.9-slim
|
| |
|
| |
|
| |
|
| | RUN apt-get update && apt-get install -y \
|
| | wget \
|
| | xz-utils \
|
| | xvfb \
|
| | libx11-6 \
|
| | libxxf86vm1 \
|
| | libgl1 \
|
| | libglu1-mesa \
|
| | libxi6 \
|
| | libxrender1 \
|
| | libxfixes3 \
|
| | libfontconfig1 \
|
| | libxinerama1 \
|
| | libxkbcommon0 \
|
| | && rm -rf /var/lib/apt/lists/*
|
| |
|
| |
|
| |
|
| | RUN useradd -m -u 1000 user
|
| | USER user
|
| | ENV HOME=/home/user \
|
| | PATH=/home/user/.local/bin:$PATH
|
| |
|
| |
|
| | WORKDIR $HOME/app
|
| |
|
| |
|
| |
|
| | RUN wget -q https://download.blender.org/release/Blender3.6/blender-3.6.8-linux-x64.tar.xz -O /tmp/blender.tar.xz && \
|
| | tar -xf /tmp/blender.tar.xz -C /tmp && \
|
| | mkdir -p $HOME/blender && \
|
| | mv /tmp/blender-3.6.8-linux-x64/* $HOME/blender/ && \
|
| | rm -rf /tmp/blender.tar.xz /tmp/blender-3.6.8-linux-x64 && \
|
| |
|
| | echo 'export PATH="$HOME/blender:$PATH"' >> $HOME/.bashrc
|
| |
|
| |
|
| | ENV PATH="$HOME/blender:$PATH"
|
| |
|
| |
|
| | RUN blender --version
|
| |
|
| |
|
| | COPY --chown=user requirements.txt .
|
| | RUN pip install --no-cache-dir -r requirements.txt
|
| |
|
| |
|
| | COPY --chown=user . .
|
| |
|
| |
|
| | RUN mkdir -p $HOME/app/output $HOME/app/temp_output
|
| |
|
| |
|
| |
|
| | ENV PORT=7860
|
| | EXPOSE 7860
|
| |
|
| |
|
| | HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
|
| | CMD wget --no-verbose --tries=1 --spider http://localhost:7860/_stcore/health || exit 1
|
| |
|
| |
|
| | ENV DISPLAY=:99
|
| |
|
| |
|
| | CMD ["sh", "-c", "xvfb-run -a -s '-screen 0 1024x768x24' streamlit run app.py --server.port=7860 --server.address=0.0.0.0 --server.headless=true"] |