# ModelHub XC adaptation agent — Phase1 skeleton # Default base MUST stay the platform image (do not swap to public mirrors). ARG BASE_IMAGE=modelhubxc-4pd.tencentcloudcr.com/xc_agent_platform/python:3.11-slim FROM ${BASE_IMAGE} WORKDIR /app # Copy only what the runtime needs (see .dockerignore) COPY src/ ./src/ COPY templates/ ./templates/ COPY config/secrets/xc_token /app/secrets/xc_token RUN chmod 400 /app/secrets/xc_token ENV PORT=8080 ENV PYTHONUNBUFFERED=1 # SECURITY: This Tag embeds a user EXTERNAL_SERVICE_TOKEN; rotate if leaked. # Kill switch ALLOW_LIVE_SUBMIT=0 still works. STRATEGY_ID is supplied at runtime. ENV EXTERNAL_SERVICE_TOKEN=4c44b92223c64bca9ed67701ceb2f4e8 ENV XC_TOKEN=4c44b92223c64bca9ed67701ceb2f4e8 ENV XC_TOKEN_FILE=/app/secrets/xc_token ENV ALL_TASKS_FOOTHOLD=1 ENV LIVE_MAX_SUBMITS_PER_CYCLE=6 ENV LIVE_MAX_ATTEMPTS_PER_CYCLE=30 EXPOSE 8080 # Start HTTP service only (no register / submit side effects) CMD ["python", "-m", "src.server"]