feat(perso): initialisation propre de la stack autonome OpenClaw Perso (Ticket perso-2026-09-022)
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
# Secrets and environment
|
||||
.env*
|
||||
|
||||
# Runtime data & configuration (contains secrets: openclaw.json, sqlite DBs, tokens)
|
||||
data/
|
||||
|
||||
# Logs & temporary files
|
||||
*.log
|
||||
*.tmp
|
||||
|
||||
# Synology & OS metadata
|
||||
@eaDir/
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
FROM node:26-slim
|
||||
|
||||
# Install system utilities
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
jq \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install OpenClaw globally
|
||||
RUN npm install -g openclaw@2026.9.2
|
||||
|
||||
# Setup user matching Synology NAS convention (UID 1026, GID 100)
|
||||
RUN useradd -u 1026 -g 100 -m -s /bin/bash openclaw || true
|
||||
|
||||
RUN mkdir -p /home/openclaw/.openclaw /home/openclaw/.openclaw/workspace \
|
||||
&& chown -R 1026:100 /home/openclaw
|
||||
|
||||
ENV HOME=/home/openclaw
|
||||
ENV OPENCLAW_GATEWAY_BIND=lan
|
||||
WORKDIR /home/openclaw
|
||||
|
||||
USER 1026:100
|
||||
|
||||
EXPOSE 18789
|
||||
|
||||
CMD ["openclaw", "gateway", "run", "--port", "18789", "--bind", "lan"]
|
||||
@@ -0,0 +1,15 @@
|
||||
# OpenClaw Perso — Agent Autonome Personnel
|
||||
|
||||
Stack Docker de test pour l'agent autonome OpenClaw v2 (`openclaw@2026.9.2`) sur Synology NAS DS920+, déployé selon le ticket Baserow `perso-2026-09-022`.
|
||||
|
||||
## Architecture et Composants
|
||||
|
||||
- **Conteneur** : `openclaw-perso`
|
||||
- **Image** : `openclaw-perso:latest` (base `node:26-slim`)
|
||||
- **Port** : `8910` (mappé sur `18789` interne)
|
||||
- **Réseau** : `n8n`
|
||||
- **UID / GID** : `1026:100` (`Best0f:users`)
|
||||
- **Modèles LLM** : Inférence via passerelle `bifrost-proxy` avec clé virtuelle dédiée `vk-openclaw-perso` (`google/gemini-2.5-flash` et `opencode/mimo-v2.5`).
|
||||
- **MCP Context-Hub** : Connecteur Streamable HTTP vers `http://context-hub:8000/mcp/` (scopes: `infra`, `llm`, `nyora`, `perso`).
|
||||
- **MCP NyoraNotes** : Connecteur Streamable HTTP vers `http://nyora-notes-mcp:8000/mcp/` avec coffre mémoire isolé `openclaw-perso/`.
|
||||
- **Personas** : `data/workspace/SOUL.md` et `data/workspace/USER.md` (reprise de l'identité Hermes Perso avec 100% des accents français préservés).
|
||||
@@ -0,0 +1,30 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
openclaw-perso:
|
||||
build: .
|
||||
image: openclaw-perso:latest
|
||||
container_name: openclaw-perso
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:8910:18789"
|
||||
env_file:
|
||||
- ./.env
|
||||
volumes:
|
||||
- ./data:/home/openclaw/.openclaw
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- OPENCLAW_GATEWAY_BIND=loopback
|
||||
- OPENCLAW_CONFIG_PATH=/home/openclaw/.openclaw/openclaw.json
|
||||
networks:
|
||||
- n8n
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:18789/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 20s
|
||||
|
||||
networks:
|
||||
n8n:
|
||||
external: true
|
||||
Reference in New Issue
Block a user