# OpenClaw Gateway - Custom ARM64 Build # Platform: linux/arm64 # All configs via named volumes - copy files in with docker cp FROM --platform=linux/arm64 ghcr.io/openclaw/openclaw:latest USER root # Install additional system packages RUN apt-get update && apt-get install -y \ jq \ curl \ htop \ tree \ ca-certificates \ gnupg \ && rm -rf /var/lib/apt/lists/* # Install Google Cloud SDK (for gcloud CLI if needed) RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" \ | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \ && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg \ | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg \ && apt-get update && apt-get install -y google-cloud-cli \ && rm -rf /var/lib/apt/lists/* # Install gogcli (Google Workspace CLI) for ARM64 RUN GOG_VERSION=$(curl -s https://api.github.com/repos/steipete/gogcli/releases/latest | jq -r .tag_name) \ && curl -L "https://github.com/steipete/gogcli/releases/download/${GOG_VERSION}/gogcli_${GOG_VERSION#v}_linux_arm64.tar.gz" \ | tar -xz -C /usr/local/bin/ \ && chmod +x /usr/local/bin/gog # Copy custom tools into the image COPY tools/* /usr/local/bin/ COPY bin/* /usr/local/bin/ RUN chmod +x /usr/local/bin/* # Create directories in the persistent volume location RUN mkdir -p /home/node/.openclaw/ssh /home/node/.openclaw/gog \ && chown -R node:node /home/node/.openclaw # Link gog config and ssh to standard locations RUN ln -sf /home/node/.openclaw/gog /home/node/.config/gog \ && ln -sf /home/node/.openclaw/ssh /home/node/.ssh # Switch back to node user USER node