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.
geodata-catalog/docker/Dockerfile

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" \
]