lab-builder (latest-main)
Published 2026-06-14 17:49:31 +00:00 by hero.releaser
Installation
docker pull forge.ourworld.tf/lhumina_code/lab-builder:latest-mainsha256:b6baf51ff3621f3ecc43e026486941fdc53e02b42fa2a8c507ef81a80671b678About this package
ubuntu:22.04 + Rust 1.96 + musl + prebuilt lab (per hero_skills branch)
Image layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:52c0e467fa2e92f101018df01a0ff56580c752b7553fbe6df88e16b02af6d4ee in / |
| CMD ["/bin/bash"] |
| ARG LAB_BRANCH=main |
| ENV DEBIAN_FRONTEND=noninteractive CC_x86_64_unknown_linux_musl=musl-gcc CC_aarch64_unknown_linux_musl=aarch64-linux-musl-gcc CXX_aarch64_unknown_linux_musl=aarch64-linux-musl-g++ AR_aarch64_unknown_linux_musl=aarch64-linux-musl-ar CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc PATH=/opt/aarch64-linux-musl-cross/bin:/root/.cargo/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN |1 LAB_BRANCH=main /bin/sh -c apt-get update -qq && apt-get install -y --no-install-recommends ca-certificates curl git build-essential pkg-config libssl-dev clang cmake musl-tools musl-dev upx-ucl xz-utils && ln -sf /usr/bin/upx-ucl /usr/local/bin/upx && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |1 LAB_BRANCH=main /bin/sh -c curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.96 --profile minimal && rustup target add x86_64-unknown-linux-musl aarch64-unknown-linux-musl && curl -sSfL --retry 5 --retry-delay 10 --retry-all-errors --connect-timeout 30 https://musl.cc/aarch64-linux-musl-cross.tgz -o /tmp/aarch64.tgz && tar -xzf /tmp/aarch64.tgz -C /opt && rm -f /tmp/aarch64.tgz && aarch64-linux-musl-gcc --version | head -1 && rustc --version && rm -rf /opt/aarch64-linux-musl-cross/share # buildkit |
| ARG LIBSECCOMP_VERSION=2.5.5 |
| RUN |2 LAB_BRANCH=main LIBSECCOMP_VERSION=2.5.5 /bin/sh -c set -eu; apt-get update -qq && apt-get install -y --no-install-recommends gperf && rm -rf /var/lib/apt/lists/*; SYSROOT="$(rustc --print sysroot)"; curl -sSfL --retry 5 --retry-delay 10 --retry-all-errors --connect-timeout 30 "https://github.com/seccomp/libseccomp/releases/download/v${LIBSECCOMP_VERSION}/libseccomp-${LIBSECCOMP_VERSION}.tar.gz" -o /tmp/libseccomp.tar.gz; mkdir -p /tmp/seccomp && tar -xzf /tmp/libseccomp.tar.gz -C /tmp/seccomp --strip-components=1; cd /tmp/seccomp; ./configure --host=x86_64-linux-musl CC=musl-gcc AR=ar RANLIB=ranlib CFLAGS="-idirafter /usr/include -idirafter /usr/include/x86_64-linux-gnu" --enable-static --disable-shared --prefix=/tmp/sx >/dev/null; make -j"$(nproc)" >/dev/null && make install >/dev/null; cp /tmp/sx/lib/libseccomp.a "${SYSROOT}/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/"; make distclean >/dev/null; ./configure --host=aarch64-linux-musl CC=aarch64-linux-musl-gcc AR=aarch64-linux-musl-ar RANLIB=aarch64-linux-musl-ranlib --enable-static --disable-shared --prefix=/tmp/sa >/dev/null; make -j"$(nproc)" >/dev/null && make install >/dev/null; cp /tmp/sa/lib/libseccomp.a "${SYSROOT}/lib/rustlib/aarch64-unknown-linux-musl/lib/self-contained/"; cd / && rm -rf /tmp/seccomp /tmp/libseccomp.tar.gz /tmp/sx /tmp/sa; ls -l "${SYSROOT}/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libseccomp.a" "${SYSROOT}/lib/rustlib/aarch64-unknown-linux-musl/lib/self-contained/libseccomp.a" # buildkit |
| RUN |2 LAB_BRANCH=main LIBSECCOMP_VERSION=2.5.5 /bin/sh -c set -eu; TOKEN="$(cat /run/secrets/forge_token)"; git config --global url."https://oauth2:${TOKEN}@forge.ourworld.tf/".insteadOf "https://forge.ourworld.tf/"; export CARGO_NET_GIT_FETCH_WITH_CLI=true; curl -sSfL "https://forge.ourworld.tf/lhumina_code/hero_skills/raw/branch/${LAB_BRANCH}/crates/lab/install.sh" -o /tmp/lab-install.sh; bash /tmp/lab-install.sh --branch "${LAB_BRANCH}"; rm -f /root/.gitconfig /tmp/lab-install.sh; rm -rf /root/.cargo/git /root/code /root/build; strip "$(command -v lab)" 2>/dev/null || true; rm -rf /root/.cache /root/.rustup/downloads /root/.rustup/tmp /tmp/*; lab --version # buildkit |
| LABEL org.opencontainers.image.title=Hero lab builder org.opencontainers.image.description=ubuntu:22.04 + Rust 1.96 + musl + prebuilt lab (per hero_skills branch) org.opencontainers.image.source=https://forge.ourworld.tf/lhumina_code/hero_skills |
Labels
| Key | Value |
|---|---|
| org.opencontainers.image.description | ubuntu:22.04 + Rust 1.96 + musl + prebuilt lab (per hero_skills branch) |
| org.opencontainers.image.ref.name | ubuntu |
| org.opencontainers.image.source | https://forge.ourworld.tf/lhumina_code/hero_skills |
| org.opencontainers.image.title | Hero lab builder |
| org.opencontainers.image.version | 22.04 |
Details
Versions (4)
View all
latest-development
2026-06-15
latest-integration
2026-06-14
latest-main
2026-06-14
_pushtest
2026-06-11