Files
openclaw/docker/Dockerfile
2026-02-20 14:36:18 -05:00

48 lines
1.7 KiB
Docker

# 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 docker/tools/* /usr/local/bin/
COPY docker/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