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.
27 lines
790 B
27 lines
790 B
FROM python:3.8-bullseye
|
|
|
|
COPY . /app/geodata
|
|
|
|
|
|
RUN pip install --upgrade pip
|
|
RUN pip install wheel
|
|
RUN pip install -r /app/geodata/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
|
|
|
|
EXPOSE 8000
|
|
|
|
WORKDIR /app
|
|
|
|
CMD [ \
|
|
"/usr/bin/wait-for-it", "postgres:5432", "--timeout=45", "--strict", \
|
|
"--", \
|
|
# might use exact migration hash here instead of upgrading to the latest "heads"
|
|
"alembic", "upgrade", "heads", \
|
|
"&&", \
|
|
"gunicorn", "--workers=2", "--worker-class=uvicorn.workers.UvicornWorker", "--bind=0.0.0.0:8000", \
|
|
"geodata.main:app", "--root-path=/api/v1" \
|
|
]
|