diff --git a/.mcp.json b/.mcp.json index dff505e..85b017a 100644 --- a/.mcp.json +++ b/.mcp.json @@ -2,23 +2,23 @@ "mcpServers": { "janssen-mongo": { "command": "python", - "args": ["U:\\PythonProject\\Janssen\\mcp_mongo.py"], - "cwd": "U:\\PythonProject\\Janssen" + "args": ["U:\\janssen\\mcp_mongo.py"], + "cwd": "U:\\janssen" }, "janssen-postgres": { "command": "python", - "args": ["U:\\PythonProject\\Janssen\\mcp_postgres.py"], - "cwd": "U:\\PythonProject\\Janssen" + "args": ["U:\\janssen\\mcp_postgres.py"], + "cwd": "U:\\janssen" }, "jnjemails": { "command": "python", - "args": ["U:\\PythonProject\\Janssen\\EmailsImport\\mcp_jnjemails.py"], - "cwd": "U:\\PythonProject\\Janssen\\EmailsImport" + "args": ["U:\\janssen\\EmailsImport\\mcp_jnjemails.py"], + "cwd": "U:\\janssen\\EmailsImport" }, "soubory": { "command": "U:\\janssen\\.venv\\Scripts\\python.exe", - "args": ["U:\\janssen\\soubory\\mcp_soubory.py"], - "cwd": "U:\\janssen\\soubory" + "args": ["U:\\janssen\\Soubory\\mcp_soubory.py"], + "cwd": "U:\\janssen\\Soubory" }, "emaily": { "command": "U:\\janssen\\.venv\\Scripts\\python.exe", @@ -37,8 +37,8 @@ }, "trilium": { "command": "python", - "args": ["U:\\PythonProject\\Janssen\\TrilliumMCP\\mcp_trilium_v1.1.py"], - "cwd": "U:\\PythonProject\\Janssen\\TrilliumMCP" + "args": ["U:\\janssen\\TrilliumMCP\\mcp_trilium_v1.1.py"], + "cwd": "U:\\janssen\\TrilliumMCP" } } } diff --git a/TrilliumMCP/mcp_trilium_v1.1.py b/TrilliumMCP/mcp_trilium_v1.1.py index 1fa25dd..6cd4c95 100644 --- a/TrilliumMCP/mcp_trilium_v1.1.py +++ b/TrilliumMCP/mcp_trilium_v1.1.py @@ -48,6 +48,7 @@ from __future__ import annotations import os import sys import json +import socket import html import hashlib import datetime @@ -236,7 +237,8 @@ def create_summary(title: str, content: str, creator: Optional[str] = None) -> d creator: kdo summary vytváří; default "ClaudeCode z počítače ". """ try: - who = creator or f"ClaudeCode z počítače {os.environ.get('COMPUTERNAME', 'neznámý')}" + pc = os.environ.get('COMPUTERNAME') or socket.gethostname() or 'neznámý' + who = creator or f"ClaudeCode z počítače {pc}" stamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M") header = f"{stamp} — {who}" html_content = _text_to_html(header + "\n\n" + content, is_html=False) diff --git a/claude-memory/MEMORY.md b/claude-memory/MEMORY.md index 5c9e057..eee1662 100644 --- a/claude-memory/MEMORY.md +++ b/claude-memory/MEMORY.md @@ -16,3 +16,4 @@ - [Python-runner pipeline](project_python_runner.md) — Docker kontejner na Unraidu, email pipeline 2×/den, auto-install deps, report z reports@buzalka.cz - [Claude Code learning path](project_claude_learning.md) — Level 2 Intermediate, mezery: Skills/Subagenty/Hooks/Print mode, tutoriál v `claude-howto/` - [Admin PowerShell nefunguje](feedback_admin_powershell.md) — příkazy vyžadující admin práva rovnou napsat uživateli, nezkoušet alternativy +- [SeaweedFS na Tower1](project_seaweedfs.md) — kontejner na .50 (bloby na array, metadata SSD), noční backup filer metadat na tower .76, retence 7+4 diff --git a/claude-memory/project_seaweedfs.md b/claude-memory/project_seaweedfs.md new file mode 100644 index 0000000..d66c8e4 --- /dev/null +++ b/claude-memory/project_seaweedfs.md @@ -0,0 +1,16 @@ +--- +name: project-seaweedfs +description: "SeaweedFS na Tower1 (192.168.1.50) — kontejner, rozdělení dat, noční backup filer metadat na tower .76" +metadata: + node_type: memory + type: project + originSessionId: 958cbde4-e6aa-463e-8d0e-cd7c3f7bf9ec +--- + +SeaweedFS „na hraní" na Tower1 Unraid (192.168.1.50, root, heslo Vlado7309208104++; SSH jen heslem, klíč nejde). Postaveno 2026-06-12. + +- Kontejner `seaweedfs` (chrislusf/seaweedfs, host network), `weed server -filer -s3`: master :9333, volume :8080, filer :8888, S3 :8333 (anonymní). Limit 1 GB/volume, max 50. +- Bloby: share `SeaweedFS` → `/mnt/user/SeaweedFS/data`, array disk9–11 pod paritou (useCache=no). Filer leveldb + master raft: `/mnt/cache2tb0225dec/appdata/seaweedfs/` (SSD, bez parity). +- Noční backup filer metadat: cron 03:30 na Tower1 (`/boot/config/plugins/dynamix/seaweedfs-backup.cron`) spouští `/boot/config/scripts/seaweedfs_meta_backup.sh` — `fs.meta.save` přes weed shell → scp na tower 192.168.1.76 do `/mnt/user/Backup/Critical/SeaweedFS/daily/` (drží 7), neděle navíc `weekly/` (drží 4). Log `/var/log/seaweedfs_backup.log`. Restore: `fs.meta.load`. +- Tower (.76, root heslo 7309208104) a Tower1 mají vyměněné SSH klíče — z Tower1 na tower jde psát přímo. +- Pozor: Unraid flash `/boot` je VFAT (case-insensitive) — share cfg `seaweedfs.cfg` vs `SeaweedFS.cfg` je tentýž soubor. Share nastavení za běhu mění `emcmd "query&string"` (jeden argument, nutné `shareNameOrig` + `cmdEditShare=Apply`), live stav v `/var/local/emhttp/shares.ini`. diff --git a/claude-memory/setup_memory_sync.md b/claude-memory/setup_memory_sync.md index 13ca1c7..dd39df2 100644 --- a/claude-memory/setup_memory_sync.md +++ b/claude-memory/setup_memory_sync.md @@ -18,4 +18,6 @@ Původní cesta `C:\Users\vlado\.claude\projects\U--janssen\memory` je **directo `New-Item -ItemType Junction -Path "$env:USERPROFILE\.claude\projects\U--janssen\memory" -Target "U:\janssen\claude-memory"` Junction sám se přes git nepřenáší (je to lokální odkaz), musí se vytvořit na každém stroji zvlášť. Předpoklad: projekt je na obou strojích na cestě `U:\janssen`. +**Sjednocení cest mezi stroji (2026-06-12):** Na Z230 je repo fyzicky v `U:\PythonProject\Janssen`, na notebooku v `U:\janssen`. Řešení: na Z230 junction `New-Item -ItemType Junction -Path U:\janssen -Target U:\PythonProject\Janssen` a Claude Code tam otevírat z `U:\janssen`. Díky tomu platí v `.mcp.json` (i kdekoli jinde) jednotné cesty `U:\janssen\...` a config se už nepřepisuje tam a zpět mezi commity „z230"/„notebook". Výjimka: MCP `owa` a `vbcz-email` (`OutlookVBCZ/`) nejsou v repu, existují jen na Z230 — na notebooku se prostě nepřipojí. + Pozn.: dříve testovaný [[setup-memory-sync]] konkurent claude-mem (lokální SQLite, nesynchronizuje mezi PC) byl odinstalován ve prospěch tohoto git/Gitea řešení.