# ============================================================ # OpenClaw – Hugging Face Space (Docker) # ============================================================ # Usa l'immagine ufficiale pre-compilata di OpenClaw # oppure installa via npm se l'immagine non è disponibile. # ============================================================ FROM node:22-bookworm-slim # Installa dipendenze di sistema RUN apt-get update && apt-get install -y \ curl \ ca-certificates \ tini \ && rm -rf /var/lib/apt/lists/* # Installa OpenClaw globalmente (richiede Node 22+) RUN npm install -g openclaw@latest # Crea directory di configurazione RUN mkdir -p /home/node/.openclaw/workspace && \ chown -R node:node /home/node/.openclaw # Copia script di avvio COPY start.sh /app/start.sh RUN chmod +x /app/start.sh && chown node:node /app/start.sh # HF Spaces usa la porta 7860 come default EXPOSE 7860 # Variabili d'ambiente di default ENV OPENCLAW_GATEWAY_PORT=7860 ENV OPENCLAW_GATEWAY_BIND=0.0.0.0 ENV NODE_ENV=production ENV OPENCLAW_MODEL=groq/llama-3.3-70b-versatile # Usa l'utente non-root (node uid=1000, compatibile con HF Spaces) USER node WORKDIR /home/node # tini come init per gestire segnali correttamente ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["/app/start.sh"]