Files
xc_agent_platform_demo/Dockerfile

29 lines
982 B
Docker

# 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"]