| apko |
| apko |
| apko |
| apko |
| apko |
| apko |
| apko |
| apko |
| apko |
| apko |
| apko |
| RUN /bin/sh -c apk add bash build-base curl git jq linux-headers nodejs openssh openssl yq # buildkit |
| RUN /bin/sh -c addgroup -g 2000 app && adduser -D -u 2000 -G app -h /home/app app && mkdir -p /home/app && chown -R app:app /home/app # buildkit |
| COPY bashrc /root/.bashrc # buildkit |
| RUN /bin/sh -c for dir in /home/*; do [ -d "$dir" ] || continue; cp /root/.bashrc "$dir/.bashrc"; owner="$(stat -c '%u:%g' "$dir")"; chown "$owner" "$dir/.bashrc"; done # buildkit |
| ARG ENFORCE_LATEST_RUST_VERSION=true |
| ARG RUST_VERSION=1.96 |
| RUN |2 ENFORCE_LATEST_RUST_VERSION=true RUST_VERSION=1.96 /bin/sh -c RUST_VERSION_APK="$(apk search -qx 'rust-[0-9]*.[0-9]*' | awk -F- '{print $2}' | sort -V | tail -n1)" && if [ "${ENFORCE_LATEST_RUST_VERSION}" = "true" ] && [ "${RUST_VERSION}" != "${RUST_VERSION_APK}" ]; then echo "RUST_VERSION=${RUST_VERSION} does not match latest APK Rust version ${RUST_VERSION_APK}" >&2; exit 1; fi && apk add rust-${RUST_VERSION} uv mdbook # buildkit |
| ARG TARGETPLATFORM=linux/arm64 |
| ENV UV_COMPILE_BYTECODE=1 |
| ENV UV_PROJECT_ENVIRONMENT=/home/app/.venv |
| ENV PATH=/home/app/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin |
| USER root |
| RUN |3 ENFORCE_LATEST_RUST_VERSION=true RUST_VERSION=1.96 TARGETPLATFORM=linux/arm64 /bin/sh -c mkdir -p "${UV_PROJECT_ENVIRONMENT}" && chown -R app:app "${UV_PROJECT_ENVIRONMENT}" # buildkit |
| USER app |
| RUN |3 ENFORCE_LATEST_RUST_VERSION=true RUST_VERSION=1.96 TARGETPLATFORM=linux/arm64 /bin/sh -c uv python install 3.12 3.13 3.14 # buildkit |
| RUN |3 ENFORCE_LATEST_RUST_VERSION=true RUST_VERSION=1.96 TARGETPLATFORM=linux/arm64 /bin/sh -c mkdir -p /tmp/build-cache/uv /home/app/.cache && cp -r /tmp/build-cache/uv /home/app/.cache/ && uv venv "$UV_PROJECT_ENVIRONMENT" && uv pip install --python "$UV_PROJECT_ENVIRONMENT" numpy scipy fastapi uvicorn mkdocs mkdocs-material python-dotenv httpx pydantic pandas pytest pytest-cov && cp -r /home/app/.cache/uv /tmp/build-cache/ # buildkit |
| USER app |
| WORKDIR /workspace |
| CMD ["bash"] |