FROM python:3.12-slim

LABEL maintainer="EasyClaw Team"
LABEL description="EasyClaw — Autonomous doctor and personal trainer for OpenClaw"

# Create non-root user
RUN groupadd -r easyclaw && useradd -r -g easyclaw -m easyclaw

# Install system deps
RUN apt-get update && apt-get install -y --no-install-recommends \
    procps \
    && rm -rf /var/lib/apt/lists/*

# Install EasyClaw
WORKDIR /app
COPY pyproject.toml .
COPY src/ src/
RUN pip install --no-cache-dir .

# Runtime config
USER easyclaw
ENV EASYCLAW_HOME=/home/easyclaw/.easyclaw

# The sidecar needs access to the host's OpenClaw dirs via volume mounts:
#   -v ~/.openclaw:/host/.openclaw:ro
#   -v /tmp/openclaw:/host/tmp/openclaw:ro
# EasyClaw will auto-discover via OPENCLAW_HOME override or default paths.

HEALTHCHECK --interval=60s --timeout=10s --start-period=30s --retries=3 \
    CMD ["python3", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:18790/health', timeout=5)"]

ENTRYPOINT ["easyclaw"]
CMD ["start", "--foreground"]
