| # Use an official Python runtime as a parent image | |
| FROM python:3.7-slim | |
| RUN apt-get update && \ | |
| apt-get install -y tar && \ | |
| apt-get install -y libxml2 && \ | |
| ln -s /bin/tar /usr/bin/tar | |
| # Set the working directory to /app | |
| RUN mkdir /app | |
| WORKDIR /app | |
| # Copy the current directory contents into the container at /app | |
| COPY . /app | |
| # Make install directory | |
| RUN mkdir -p /python-fbx/install | |
| RUN chmod -R ugo+w /python-fbx | |
| # Unzip FBX SDK | |
| RUN tar -vxzf fbx202032_fbxpythonsdk_linux.tar.gz -C /python-fbx | |
| RUN chmod ugo+x /python-fbx/fbx202032_fbxpythonsdk_linux | |
| RUN printf "yes\nn" | /python-fbx/fbx202032_fbxpythonsdk_linux /python-fbx/install | |
| # Install FBX SDK | |
| RUN cp /python-fbx/install/lib/Python37_x64/* /usr/local/lib/python3.7/site-packages/ | |
| # Set fbx file permissions | |
| RUN chmod 755 /usr/local/lib/python3.7/site-packages/fbx.so | |
| # Install any needed packages specified in requirements.txt | |
| RUN pip install --trusted-host pypi.python.org -r requirements.txt | |
| # Make port 7860 available to the world outside this container | |
| EXPOSE 7860 | |
| # Define environment variable | |
| ENV NAME World | |
| # Run app.py when the container launches | |
| CMD ["streamlit", "run", "app.py", "--server.port", "7860"] |