OpenCLawf / Dockerfile
superX432's picture
Update Dockerfile
83759c4 verified
FROM node:22-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
git openssh-client build-essential python3 ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g openclaw@latest --force --unsafe-perm
ENV PORT=7860 \
OPENCLAW_GATEWAY_MODE=local \
HOME=/root
RUN mkdir -p /root/.openclaw/sessions
RUN cat > /usr/local/bin/setup.sh << 'SETUPSCRIPT'
#!/bin/bash
set -e
BASE_URL="${OPENCLAW_BASE_URL:-https://generativelanguage.googleapis.com/v1beta/openai/}"
API_KEY="${OPENCLAW_API_KEY:-AIzaSyApWVR5SalKI6fD4BesJHCRbCuU7AVVHRU}"
MODEL="${OPENCLAW_MODEL:-gemini-3.1-flash-lite-preview}"
PASSWORD="${OPENCLAW_GATEWAY_PASSWORD:-openclaw123}"
cat > /root/.openclaw/openclaw.json << EOF
{
"models": {
"providers": {
"custom": {
"baseUrl": "${BASE_URL}",
"apiKey": "${API_KEY}",
"api": "openai-completions",
"models": [{"id": "${MODEL}", "name": "Custom Model"}]
}
}
},
"agents": {"defaults": {"model": {"primary": "custom/${MODEL}"}}},
"channels": {"telegram": {"botToken": "", "enabled": false}},
"gateway": {
"mode": "local",
"bind": "lan",
"port": 7860,
"trustedProxies": ["0.0.0.0/0", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"],
"auth": {"mode": "token", "token": "${PASSWORD}"},
"controlUi": {"allowInsecureAuth": true, "dangerouslyAllowHostHeaderOriginFallback": true, "dangerouslyDisableDeviceAuth": true}
}
}
EOF
echo "Config created"
cat /root/.openclaw/openclaw.json
SETUPSCRIPT
RUN chmod +x /usr/local/bin/setup.sh && /usr/local/bin/setup.sh
EXPOSE 7860
CMD ["sh", "-c", "exec openclaw gateway run --port $PORT"]