build(simulator): Dockerfile, compose, and make targets

Per docs/superpowers/plans/2026-06-04-experience-simulator.md Task 6.
Dockerfile also copies tools/ (a declared setuptools package) so the
editable install resolves inside the image; the plan's Dockerfile omitted it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ben Stull
2026-06-05 03:50:34 -07:00
parent c1745f0021
commit 80cde37b98
3 changed files with 24 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
.PHONY: sim sim-local
sim:
docker compose -f simulator/docker-compose.yml up --build
sim-local:
python -m uvicorn simulator.app:app --reload --port 8000
+10
View File
@@ -0,0 +1,10 @@
FROM python:3.11-slim
WORKDIR /app
COPY pyproject.toml ./
COPY hef ./hef
COPY tools ./tools
COPY simulator ./simulator
COPY catalog ./catalog
RUN pip install --no-cache-dir -e ".[sim]"
EXPOSE 8000
CMD ["uvicorn", "simulator.app:app", "--host", "0.0.0.0", "--port", "8000"]
+7
View File
@@ -0,0 +1,7 @@
services:
simulator:
build:
context: ..
dockerfile: simulator/Dockerfile
ports:
- "8000:8000"