diff --git a/.github/workflows/build-images.yaml b/.github/workflows/build-images.yaml index 5ab2de7..dd18f4e 100644 --- a/.github/workflows/build-images.yaml +++ b/.github/workflows/build-images.yaml @@ -74,12 +74,12 @@ jobs: shell: bash run: | if [[ -z "${{ inputs.appsToBuild }}" ]]; then - matrices=$(python ./scripts/actions/prepare-matrices.py "all" "${{ inputs.pushImages }}" "${{ inputs.force }}") + matrices=$(python ./scripts/prepare-matrices.py "all" "${{ inputs.pushImages }}" "${{ inputs.force }}") else if [[ -z "${{ inputs.channelsToBuild }}" ]]; then - matrices=$(python ./scripts/actions/prepare-matrices.py "${{ inputs.appsToBuild }}" "${{ inputs.pushImages }}" "${{ inputs.force }}") + matrices=$(python ./scripts/prepare-matrices.py "${{ inputs.appsToBuild }}" "${{ inputs.pushImages }}" "${{ inputs.force }}") else - matrices=$(python ./scripts/actions/prepare-matrices.py "${{ inputs.appsToBuild }}" "${{ inputs.pushImages }}" "${{ inputs.force }}" "${{ inputs.channelsToBuild }}") + matrices=$(python ./scripts/prepare-matrices.py "${{ inputs.appsToBuild }}" "${{ inputs.pushImages }}" "${{ inputs.force }}" "${{ inputs.channelsToBuild }}") fi fi echo "matrices=${matrices}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/render-readme.yaml b/.github/workflows/render-readme.yaml index 9ed0e2a..ce9a13d 100644 --- a/.github/workflows/render-readme.yaml +++ b/.github/workflows/render-readme.yaml @@ -43,7 +43,7 @@ jobs: env: GITHUB_TOKEN: "${{ steps.app-token.outputs.token }}" shell: bash - run: python ./scripts/actions/render-readme.py + run: python ./scripts/render-readme.py - name: Commit Changes shell: bash diff --git a/apps/boltz/Dockerfile b/apps/boltz/Dockerfile index fe7494a..97366be 100644 --- a/apps/boltz/Dockerfile +++ b/apps/boltz/Dockerfile @@ -28,7 +28,6 @@ ENV \ USER root WORKDIR /app -# TODO: Add uv RUN \ groupadd --gid ${GID} ${USERNAME} \ && useradd --uid ${UID} --gid ${GID} --create-home --shell /bin/bash ${USERNAME} \ diff --git a/apps/qlora/metadata.yaml b/apps/qlora/metadata.yaml new file mode 100644 index 0000000..4f7b8de --- /dev/null +++ b/apps/qlora/metadata.yaml @@ -0,0 +1,11 @@ +--- +#yamllint disable +app: qlora +semver: true +channels: + - name: stable + platforms: ["linux/amd64", "linux/arm64"] + stable: true + tests: + enabled: false + type: cli diff --git a/apps/rfdiffusion/Dockerfile b/apps/rfdiffusion/Dockerfile new file mode 100644 index 0000000..0359223 --- /dev/null +++ b/apps/rfdiffusion/Dockerfile @@ -0,0 +1,79 @@ +FROM docker.io/library/python:3.12-slim-bookworm + +LABEL \ + maintainer="Liana64" \ + org.opencontainers.image.source="https://github.com/amelie-iska/RFdiffusion" + +ARG TARGETPLATFORM +ARG VERSION +ARG CHANNEL +ARG DEBIAN_FRONTEND=noninteractive + +ENV \ + NVIDIA_DRIVER_CAPABILITIES="compute,video,utility,graphics" \ + PATH="/opt/venv/bin:$PATH" \ + UMASK="0002" \ + LANG=C.UTF-8 \ + TZ="Etc/UTC" \ + USERNAME=rare \ + UID=900 \ + GID=900 \ + PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 \ + PIP_ROOT_USER_ACTION=ignore \ + PIP_NO_CACHE_DIR=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_BREAK_SYSTEM_PACKAGES=1 + +USER root +WORKDIR /app + +RUN \ + groupadd --gid ${GID} ${USERNAME} \ + && useradd --uid ${UID} --gid ${GID} --create-home --shell /bin/bash ${USERNAME} \ + && apt-get update && apt-get install -y --no-install-recommends \ + curl \ + jq \ + unzip \ + build-essential \ + catatonit \ + python3-venv \ + && python3 -m venv /opt/venv \ + && . /opt/venv/bin/activate \ + && curl -o /tmp/Miniconda3-latest-Linux-x86_64.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \ + && curl -o /tmp/Miniconda3-latest-Linux-aarch64.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh \ + && curl -fsSL -o /tmp/app.zip "https://github.com/amelie-iska/RFdiffusion/releases/tag/v${VERSION}.zip" \ + && unzip -q /tmp/app.zip -d /app \ + && mv /app/boltz-${VERSION}/LICENSE /app \ + && mv /app/boltz-${VERSION}/README.md /app \ + && mv /app/boltz-${VERSION}/pyproject.toml /app \ + && mv /app/boltz-${VERSION}/docs /app \ + && mv /app/boltz-${VERSION}/examples /app \ + && mv /app/boltz-${VERSION}/scripts /app \ + && mv /app/boltz-${VERSION}/src /app \ + && printf "UpdateMethod=docker\nBranch=master\nPackageVersion=%s\nPackageAuthor=[RareCompute](https://github.com/RareCompute)\n" "${VERSION}" > /app/package_info \ + && pip install --no-cache-dir \ + torch \ + torchvision \ + torchaudio \ + && pip install --no-cache-dir --upgrade . \ + && chown -R ${UID}:${GID} /app && chmod -R 755 /app \ + && chown -R ${UID}:${GID} /opt/venv && chmod -R 755 /opt/venv \ + && apt-get purge -y build-essential \ + && apt-get autoremove -y \ + && apt-get clean \ + && rm -rf /root/.cache /var/lib/apt/lists/* /tmp/* /var/tmp/* + +COPY --chown=${UID}:${GID} ./apps/rfdiffusion/entrypoint.sh /entrypoint.sh +RUN chmod -R 755 /entrypoint.sh + +USER ${USERNAME} +WORKDIR /cache +VOLUME ["/cache"] + +WORKDIR /data +VOLUME ["/data"] + +WORKDIR /app + +ENTRYPOINT ["/usr/bin/catatonit", "--", "/entrypoint.sh"] diff --git a/apps/rfdiffusion/metadata.yaml b/apps/rfdiffusion/metadata.yaml new file mode 100644 index 0000000..a1e10c6 --- /dev/null +++ b/apps/rfdiffusion/metadata.yaml @@ -0,0 +1,11 @@ +--- +#yamllint disable +app: rfdiffusion +semver: true +channels: + - name: stable + platforms: ["linux/amd64", "linux/arm64"] + stable: true + tests: + enabled: false + type: cli diff --git a/scripts/actions/prepare-matrices.py b/scripts/prepare-matrices.py similarity index 100% rename from scripts/actions/prepare-matrices.py rename to scripts/prepare-matrices.py diff --git a/scripts/actions/render-readme.py b/scripts/render-readme.py similarity index 100% rename from scripts/actions/render-readme.py rename to scripts/render-readme.py