
* use poetry insted of Pipfile * fix python black version * set prepare.sh as executable * revert postgres 11 * use multi-build stage in docker * fix poetry path * 🔥 Remove uneeded changes * 🔧 Move and update Poetry file * 🙈 Update gitignore * 🐳 Update Dockerfiles to use Poetry * 🐳 Update Dockerfiles with Poetry * 🔧 Add SERVER_NAME required by Celery worker * 🐳 Update Poetry install to avoid env conflicts * ➕ Add Pytest to Poetry dependencies Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
27 lines
786 B
Docker
27 lines
786 B
Docker
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7
|
|
|
|
WORKDIR /app/
|
|
|
|
# Install Poetry
|
|
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \
|
|
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/
|
|
RUN poetry install --no-dev --no-root
|
|
|
|
# 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 env=prod
|
|
RUN bash -c "if [ $env == 'dev' ] ; then pip install jupyterlab ; fi"
|
|
EXPOSE 8888
|
|
|
|
COPY ./app /app
|
|
|
|
ENV PYTHONPATH=/app
|
|
|
|
EXPOSE 80
|