kidpro2002 commited on
Commit
9bfb0ec
·
1 Parent(s): 8a73c37

Replicate working sundakai Space: npm install + openclaw.json + gateway run

Browse files
Files changed (1) hide show
  1. Dockerfile +48 -8
Dockerfile CHANGED
@@ -1,11 +1,51 @@
1
- # Imagen oficial de OpenClaw
2
- FROM ghcr.io/openclaw/openclaw:latest
3
 
4
- ENV OPENCLAW_GATEWAY_PORT=7860
5
- ENV GATEWAY_BIND_MODE=lan
6
- ENV NODE_ENV=production
 
7
 
8
- EXPOSE 7860
 
 
 
 
 
 
9
 
10
- # Todo inline: crear config + arrancar gateway
11
- CMD ["sh", "-c", "mkdir -p /home/node/.openclaw && printf '[gateway]\nbind = \"lan\"\nport = 7860\nmode = \"local\"\n' > /home/node/.openclaw/settings.toml && cat /home/node/.openclaw/settings.toml && exec node dist/index.js gateway --allow-unconfigured"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:22-slim
 
2
 
3
+ # 1. Dependencias del sistema
4
+ RUN apt-get update && apt-get install -y --no-install-recommends \
5
+ git openssh-client build-essential python3 ca-certificates \
6
+ && rm -rf /var/lib/apt/lists/*
7
 
8
+ # 2. Instalar OpenClaw globalmente via npm
9
+ RUN npm install -g openclaw@latest --unsafe-perm
10
+
11
+ # 3. Variables de entorno
12
+ ENV PORT=7860 \
13
+ OPENCLAW_GATEWAY_MODE=local \
14
+ HOME=/root
15
 
16
+ # 4. Script de arranque que genera openclaw.json antes de iniciar
17
+ RUN echo '#!/bin/bash\n\
18
+ set -e\n\
19
+ mkdir -p /root/.openclaw/sessions\n\
20
+ \n\
21
+ # Generar configuración del gateway con el modelo y API key\n\
22
+ cat > /root/.openclaw/openclaw.json <<EOF\n\
23
+ {\n\
24
+ "models": {\n\
25
+ "providers": {\n\
26
+ "kimi": {\n\
27
+ "baseUrl": "$OPENAI_API_BASE", "apiKey": "$OPENAI_API_KEY", "api": "openai-completions",\n\
28
+ "models": [{ "id": "$MODEL", "name": "Kimi 2.5", "contextWindow": 128000 }]\n\
29
+ }\n\
30
+ }\n\
31
+ },\n\
32
+ "agents": { "defaults": { "model": { "primary": "kimi/$MODEL" } } },\n\
33
+ "gateway": {\n\
34
+ "mode": "local", "bind": "lan", "port": $PORT,\n\
35
+ "trustedProxies": ["0.0.0.0/0", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"],\n\
36
+ "auth": { "mode": "token", "token": "$OPENCLAW_GATEWAY_PASSWORD" },\n\
37
+ "controlUi": { "allowInsecureAuth": true }\n\
38
+ }\n\
39
+ }\n\
40
+ EOF\n\
41
+ \n\
42
+ echo "=== Config generada ==="\n\
43
+ cat /root/.openclaw/openclaw.json\n\
44
+ echo "======================"\n\
45
+ \n\
46
+ openclaw doctor --fix\n\
47
+ exec openclaw gateway run --port $PORT\n\
48
+ ' > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
49
+
50
+ EXPOSE 7860
51
+ CMD ["/usr/local/bin/start-openclaw"]