diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..94a45cc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,21 @@ +.venv +__pycache__ +*.pyc +*.pyo +*.pyd +.git +.gitignore +logs +gallery +md_gen +credentials.toml +manual_slop.toml +manual_slop_history.toml +manualslop_layout.ini +dpg_layout.ini +.pytest_cache +scripts/generated +.gemini +conductor/archive +.editorconfig +*.log diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4ddf330 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +# Use python:3.11-slim as a base +FROM python:3.11-slim + +# Set environment variables +# UV_SYSTEM_PYTHON=1 allows uv to install into the system site-packages +ENV PYTHONDONTWRITEBYTECODE=1 + PYTHONUNBUFFERED=1 + UV_SYSTEM_PYTHON=1 + +# Install system dependencies and uv +RUN apt-get update && apt-get install -y --no-install-recommends + curl + ca-certificates + && rm -rf /var/lib/apt/lists/* + && curl -LsSf https://astral.sh/uv/install.sh | sh + && mv /root/.local/bin/uv /usr/local/bin/uv + +# Set the working directory in the container +WORKDIR /app + +# Copy dependency files first to leverage Docker layer caching +COPY pyproject.toml requirements.txt* ./ + +# Install dependencies via uv +RUN if [ -f requirements.txt ]; then uv pip install --no-cache -r requirements.txt; fi + +# Copy the rest of the application code +COPY . . + +# Expose port 8000 for the headless API/service +EXPOSE 8000 + +# Set the entrypoint to run the app in headless mode +ENTRYPOINT ["python", "gui_2.py", "--headless"] diff --git a/conductor/tracks/manual_slop_headless_20260225/plan.md b/conductor/tracks/manual_slop_headless_20260225/plan.md index 747753b..766dcad 100644 --- a/conductor/tracks/manual_slop_headless_20260225/plan.md +++ b/conductor/tracks/manual_slop_headless_20260225/plan.md @@ -41,9 +41,9 @@ - [x] Create endpoints to list currently tracked files/folders in the project scope. - [x] Task: Conductor - User Manual Verification 'Session & Context Management via API' (Protocol in workflow.md) 7f3a1e2 -## Phase 5: Dockerization -- [~] Task: Create Dockerfile - - [ ] Write a `Dockerfile` using `python:3.11-slim` as a base. - - [ ] Configure `uv` inside the container for fast dependency installation. - - [ ] Expose the API port (e.g., 8000) and set the container entrypoint. -- [ ] Task: Conductor - User Manual Verification 'Dockerization' (Protocol in workflow.md) \ No newline at end of file +## Phase 5: Dockerization [checkpoint: 5176b8d] +- [x] Task: Create Dockerfile + - [x] Write a `Dockerfile` using `python:3.11-slim` as a base. + - [x] Configure `uv` inside the container for fast dependency installation. + - [x] Expose the API port (e.g., 8000) and set the container entrypoint. +- [x] Task: Conductor - User Manual Verification 'Dockerization' (Protocol in workflow.md) 5176b8d \ No newline at end of file diff --git a/project_history.toml b/project_history.toml index 1d98e7e..9c6fd11 100644 --- a/project_history.toml +++ b/project_history.toml @@ -8,5 +8,5 @@ active = "main" [discussions.main] git_commit = "" -last_updated = "2026-02-25T13:08:45" +last_updated = "2026-02-25T13:21:57" history = [] diff --git a/test_output_final.log b/test_output_final.log new file mode 100644 index 0000000..8deebe0 Binary files /dev/null and b/test_output_final.log differ diff --git a/tests/temp_project_history.toml b/tests/temp_project_history.toml index 4b7763b..cce9495 100644 --- a/tests/temp_project_history.toml +++ b/tests/temp_project_history.toml @@ -9,7 +9,7 @@ auto_add = true [discussions.main] git_commit = "" -last_updated = "2026-02-25T13:18:14" +last_updated = "2026-02-25T13:21:57" history = [ "@1772042443.1159382\nUser:\nStress test entry 0 Stress test entry 0 Stress test entry 0 Stress test entry 0 Stress test entry 0", "@1772042443.1159382\nUser:\nStress test entry 1 Stress test entry 1 Stress test entry 1 Stress test entry 1 Stress test entry 1",