-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile
More file actions
48 lines (41 loc) · 2.02 KB
/
Copy pathDockerfile
File metadata and controls
48 lines (41 loc) · 2.02 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# ============================================================
# Dockerfile (Containerized Execution)
# ============================================================
# WHY-FILE: Package and run the continuous intelligence pipeline
# in a reproducible container environment.
# REQ: uv-based project with pyproject.toml and uv.lock present.
# ============================================================
# BASE IMAGE
# ============================================================
# WHY: Use a minimal official Python image for consistency.
FROM python:3.14-slim
# ============================================================
# SET WORKING DIRECTORY
# ============================================================
# WHY: All commands run relative to /app inside the container.
WORKDIR /app
# ============================================================
# COPY PROJECT FILES
# ============================================================
# WHY: Bring all project code and configuration into container.
COPY . .
# ============================================================
# ASSEMBLE: INSTALL TOOLING
# ============================================================
# WHY: Install uv to manage Python and dependencies.
RUN pip install --no-cache-dir uv
# ============================================================
# ASSEMBLE: PREPARE PYTHON ENVIRONMENT
# ============================================================
# WHY: Ensure correct Python version and environment setup.
RUN uv python pin 3.14
# ============================================================
# ASSEMBLE: INSTALL DEPENDENCIES
# ============================================================
# WHY: Install all required dependencies including dev and docs.
RUN uv sync --extra dev --extra docs --upgrade
# ============================================================
# EXECUTE: RUN APPLICATION
# ============================================================
# WHY: Run the continuous intelligence pipeline module.
CMD ["uv", "run", "python", "-m", "cintel.continuous_intelligence_case"]