48 lines
1.7 KiB
Docker
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 gog (Google Workspace CLI) for ARM64
|
|
RUN GOG_VERSION=$(curl -s https://api.github.com/repos/steipete/gog/releases/latest | jq -r .tag_name) \
|
|
&& curl -L "https://github.com/steipete/gog/releases/download/${GOG_VERSION}/gog_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
|