You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
802 B
32 lines
802 B
FROM python:3.8-bullseye
|
|
|
|
COPY ./requirements.txt /app/requirements.txt
|
|
|
|
|
|
RUN pip install --upgrade pip
|
|
RUN pip install wheel
|
|
RUN pip install -r /app/requirements.txt
|
|
RUN pip install gunicorn uvicorn
|
|
|
|
RUN curl --location https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh > /usr/bin/wait-for-it \
|
|
&& chmod +x /usr/bin/wait-for-it
|
|
|
|
COPY . /app
|
|
|
|
EXPOSE 8000
|
|
|
|
WORKDIR /app
|
|
|
|
CMD [ \
|
|
"/usr/bin/wait-for-it", "postgres:5432", "--timeout=45", "--strict", \
|
|
"--", \
|
|
"sh", "-c", \
|
|
# might use exact migration hash here instead of upgrading to the latest "heads"
|
|
"alembic upgrade heads \
|
|
&& \
|
|
cd / \
|
|
&& \
|
|
gunicorn --workers=2 --worker-class=app.util.MyUvicornWorker --bind=0.0.0.0:8000 \
|
|
app.main:app" \
|
|
]
|