diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d4cf71d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3.11-slim + +COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv + +WORKDIR /app + +COPY pyproject.toml uv.lock ./ +RUN uv sync --frozen --no-dev + +COPY src/ src/ + +VOLUME /app/data + +CMD ["uv", "run", "python", "-m", "src.live.paper_trader"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..06e7ef2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +services: + paper-trader: + build: . + container_name: pythagoras-paper + restart: unless-stopped + volumes: + - ./data:/app/data + environment: + - PYTHONUNBUFFERED=1 + healthcheck: + test: ["CMD", "python", "-c", "import json; s=json.load(open('/app/data/paper_trades/status.json')); assert s['last_update']"] + interval: 120s + timeout: 10s + retries: 3