ARG BASE_IMAGE=cerbero-base ARG BASE_TAG=latest FROM ${BASE_IMAGE}:${BASE_TAG} AS builder COPY services/mcp-hyperliquid ./services/mcp-hyperliquid RUN uv sync --frozen --no-dev --package mcp-hyperliquid FROM python:3.11-slim AS runtime LABEL org.opencontainers.image.source="https://github.com/AdrianoDev/cerbero" \ cerbero.service="mcp-hyperliquid" WORKDIR /app COPY --from=builder /app /app ENV PATH="/app/.venv/bin:$PATH" RUN useradd -m -u 1000 app USER app ENV HOST=0.0.0.0 PORT=9012 EXPOSE 9012 HEALTHCHECK --interval=30s --timeout=5s --retries=3 --start-period=15s \ CMD python -c "import os, urllib.request; urllib.request.urlopen(f'http://localhost:{os.environ.get(\"PORT\",\"9012\")}/health', timeout=3).close()" CMD ["mcp-hyperliquid"]