clawtainer/Dockerfile

32 lines
1.1 KiB
Docker

# 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