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