FROM hub.oepkgs.net/openeuler/openeuler:24.03-lts-sp2

COPY --from=ghcr.io/astral-sh/uv:0.7.17 /uv /uvx /bin/

ENV UV_COMPILE_BYTECODE=1
ENV UV_LINK_MODE=copy

# 使用ARM专用的华为云镜像源
RUN sed -i 's|repo.openeuler.org|repo.huaweicloud.com/openeuler|g' /etc/yum.repos.d/openEuler.repo && \
    sed -i 's|$basearch/aarch64|aarch64|g' /etc/yum.repos.d/openEuler.repo && \
    sed -i 's|$releasever|24.03-LTS-SP2|g' /etc/yum.repos.d/openEuler.repo && \
    sed -i '/metalink/d' /etc/yum.repos.d/openEuler.repo && \
    sed -i '/metadata_expire/d' /etc/yum.repos.d/openEuler.repo && \
    yum clean all && \
    yum makecache && \
    yum update -y --skip-broken && \
    yum install -y python3 python3-pip python3-devel gcc-g++ shadow-utils findutils git nodejs npm && \
    yum clean all

WORKDIR /app
RUN --mount=type=cache,target=/root/.cache/uv \
    --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
    # 使用正确的参数替代 --no-extra-index-url
    uv sync --no-install-project --no-cache-dir \
    --index-url https://mirrors.aliyun.com/pypi/simple/ \
    --config-setting installer.pip.index-urls=https://mirrors.aliyun.com/pypi/simple/ \
    --config-setting installer.pip.trusted-hosts=mirrors.aliyun.com