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