# Build zero-claw (minimal Rust agent runtime); only binary copied into main image FROM rust:1-bookworm AS zeroclaw-builder RUN cargo install zero-claw # Kasm workspace with OpenClaw pre-installed # Gateway runs on port 18789; expose in Kasm Workspace config FROM kasmweb/debian-bookworm-desktop:1.18.0-rolling-daily USER root ENV HOME=/home/kasm-default-profile \ STARTUPDIR=/dockerstartup \ INST_SCRIPTS=/dockerstartup/install \ KASM_SVC_NO_SSL=1 \ ZEROCLAW_CONFIG=/home/kasm-user/0claw.toml WORKDIR $HOME SHELL ["/bin/bash", "-o", "pipefail", "-c"] COPY scripts/image-build*.sh /opt/clawtainer-build/ COPY 0claw.toml OPENCLAW-SETUP.md /tmp/clawtainer-assets/ COPY --from=zeroclaw-builder /usr/local/cargo/bin/0claw /usr/local/bin/0claw RUN chmod +x /opt/clawtainer-build/image-build*.sh \ && /opt/clawtainer-build/image-build.sh \ && rm -rf /opt/clawtainer-build /tmp/clawtainer-assets RUN chown 1000:0 $HOME RUN $STARTUPDIR/set_user_permission.sh $HOME ENV HOME=/home/kasm-user WORKDIR $HOME RUN mkdir -p $HOME && chown -R 1000:0 $HOME USER 1000