FROM tiangolo/uvicorn-gunicorn:python3.10 WORKDIR /app/ RUN apt-get update RUN apt-get install -y sshpass # Install Poetry RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/opt/poetry python3 && \ cd /usr/local/bin && \ ln -s /opt/poetry/bin/poetry && \ poetry config virtualenvs.create false # Copy poetry.lock* in case it doesn't exist in the repo COPY ./app/pyproject.toml ./app/poetry.lock* /app/ # Allow installing dev dependencies to run tests ARG INSTALL_DEV=false RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --no-dev ; fi" # For development, Jupyter remote kernel, Hydrogen # Using inside the container: # jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888 ARG INSTALL_JUPYTER=false RUN bash -c "if [ $INSTALL_JUPYTER == 'true' ] ; then pip install jupyterlab ; fi" COPY ./app /app COPY /${BACKEND_ZIP_STORAGE} /app/${BACKEND_ZIP_STORAGE} COPY /${BACKEND_VIDEO_STORAGE} /app/${BACKEND_VIDEO_STORAGE} ENV PYTHONPATH=/app