|
1 | 1 | # build it: docker build -t socialchangelab/media-impact-monitor --build-arg VCS_REF=$(git rev-parse --short HEAD) --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') . |
2 | 2 | # run it: docker run -p 8000:8000 -e MEDIACLOUD_API_TOKEN="${MEDIACLOUD_API_TOKEN}" -e ACLED_EMAIL="${ACLED_EMAIL}" -e ACLED_KEY="${ACLED_KEY}" socialchangelab/media-impact-monitor |
3 | | -FROM --platform=linux/amd64 python:3.10-slim |
4 | | -# install poetry |
5 | | -RUN pip install --upgrade pip |
6 | | -RUN pip install poetry |
7 | | -# copy the poetry files and install the dependencies |
8 | | -COPY backend-python/poetry.lock backend-python/pyproject.toml backend-python/README.md /app/backend-python/ |
9 | | -WORKDIR /app/backend-python |
10 | | -RUN poetry config virtualenvs.create false \ |
11 | | - && poetry install --no-interaction --no-ansi |
12 | | -# copy the rest of the files and set the working directory |
| 3 | +FROM --platform=linux/amd64 ghcr.io/astral-sh/uv:python3.12-bookworm |
13 | 4 | WORKDIR /app/ |
14 | | -COPY . /app/ |
15 | | -WORKDIR /app/backend-python |
| 5 | +COPY backend-python/pyproject.toml backend-python/uv.lock backend-python/README.md backend-python/manage.py ./ |
| 6 | +COPY backend-python/media_impact_monitor/__init__.py ./media_impact_monitor/ |
| 7 | +RUN uv sync --frozen |
| 8 | +COPY backend-python/django_project/ /app/django_project/ |
| 9 | +COPY backend-python/media_impact_monitor/ /app/media_impact_monitor/ |
16 | 10 | # set git commit and build date |
17 | 11 | ARG VCS_REF |
18 | 12 | ARG BUILD_DATE |
19 | 13 | ENV VCS_REF=$VCS_REF |
20 | 14 | ENV BUILD_DATE=$BUILD_DATE |
21 | 15 | # run the application |
22 | | -CMD ["uvicorn", "media_impact_monitor.api:app", "--host", "0.0.0.0", "--port", "8000"] |
| 16 | +CMD ["uv", "run", "manage.py", "runserver", "0.0.0.0:8000"] |
23 | 17 | # OCI Labels as per https://github.com/opencontainers/image-spec/blob/main/annotations.md |
24 | 18 | LABEL org.opencontainers.image.title="media-impact-monitor" |
25 | 19 | LABEL org.opencontainers.image.description="Media Impact Monitor" |
|
0 commit comments