-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
26 lines (20 loc) · 851 Bytes
/
Copy pathDockerfile
File metadata and controls
26 lines (20 loc) · 851 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
# syntax=docker/dockerfile:1
FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim
LABEL org.opencontainers.image.title="github-team-sync" \
org.opencontainers.image.description="GitHub team sync (HackUCF Keycloak fork)" \
org.opencontainers.image.source="https://github.com/HackUCF/github-team-sync"
ARG TZ=UTC
ENV TZ=${TZ} \
UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
UV_PYTHON_DOWNLOADS=0 \
PATH="/opt/github-team-sync/.venv/bin:$PATH"
WORKDIR /opt/github-team-sync
# Install dependencies first (cached unless pyproject.toml/uv.lock change).
# Default install = core runtime + Keycloak only; other backends are opt-in extras.
COPY pyproject.toml uv.lock ./
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen --no-dev
# Copy the application source.
COPY . /opt/github-team-sync
CMD ["flask", "run"]