forked from coldfront/coldfront
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathContainerfile.debugpy
More file actions
31 lines (25 loc) · 1018 Bytes
/
Containerfile.debugpy
File metadata and controls
31 lines (25 loc) · 1018 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FROM python:3.12-slim-trixie
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --locked --no-install-project
COPY . /app
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --extra prod --dev
ENV DEBUG=True
ENV PYTHONUNBUFFERED=1
ENV PLUGIN_SLURM=True
ENV PLUGIN_XDMOD=True
ENV PLUGIN_API=True
ENV XDMOD_API_URL="localhost"
EXPOSE 8000
EXPOSE 5678
RUN echo "yes" | uv run manage.py initial_setup
RUN uv run manage.py load_test_data
CMD ["uv", "run", "python3", "-m", "debugpy", "--listen", "0.0.0.0:5678", "-m", "gunicorn", "-w", "1", "--capture-output","--enable-stdio-inheritance", "coldfront.config.wsgi","--bind", "0.0.0.0:8000", "--timeout", "0"]