From 8e1cb0c52093b12967022b1018fe02655593ad50 Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Fri, 21 Aug 2026 20:24:08 +1000 Subject: [PATCH] sam-4screen-desktop 2026-8-21:20:24:8 --- .obsidian/workspace.json | 8 +- .../DeepSeek Harness (dsh) Home Lab Setup.md | 109 ++++++++++++++++++ 000 daily/Untitled.md | 10 -- 3 files changed, 113 insertions(+), 14 deletions(-) create mode 100644 000 daily/DeepSeek Harness (dsh) Home Lab Setup.md delete mode 100644 000 daily/Untitled.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index bb2e012..69ed625 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "000 daily/Untitled.md", + "file": "000 daily/DeepSeek Harness (dsh) Home Lab Setup.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "Untitled" + "title": "DeepSeek Harness (dsh) Home Lab Setup" } } ] @@ -183,7 +183,7 @@ "state": { "type": "file-properties", "state": { - "file": "000 daily/Untitled.md" + "file": "000 daily/DeepSeek Harness (dsh) Home Lab Setup.md" }, "icon": "lucide-info", "title": "File properties" @@ -212,7 +212,7 @@ "active": "a9e576f63f63e5e0", "lastOpenFiles": [ "000 daily/basketball training.md", - "000 daily/Untitled.md", + "000 daily/DeepSeek Harness (dsh) Home Lab Setup.md", "000 daily/Daily Notes and To Do.md", "200 projects/210 AI Resume/AI Resume - Content Organization Plan.md", "200 projects/210 AI Resume/Trigger.Dev.md", diff --git a/000 daily/DeepSeek Harness (dsh) Home Lab Setup.md b/000 daily/DeepSeek Harness (dsh) Home Lab Setup.md new file mode 100644 index 0000000..8884ae2 --- /dev/null +++ b/000 daily/DeepSeek Harness (dsh) Home Lab Setup.md @@ -0,0 +1,109 @@ +--- +created: 2026-08-21 20:08 +modified: 2026-08-21 20:08 +type: note +tags: [] +aliases: [] +--- +# [[# DeepSeek Harness (dsh) Home Lab Setup]] + + +A brief overview for deploying isolated, tool-restricted DeepSeek Harness instances using Docker, Caddy, and subdomains. + +## 1. System Architecture + +Instead of subfolders, use subdomains to prevent WebSocket connection failures. Each family member gets an isolated container, distinct workspace volume, and restricted plugin configuration. + +``` + [ Internet / Home Network ] + │ + [ Caddy Proxy ] + ┌─────────────────────┼─────────────────────┐ + ▼ ▼ ▼ +[ mum.ds.home.lab ] [ dad.ds.home.lab ] [ son.ds.home.lab ] + (Port 3081) (Port 3082) (Port 3083) + Container: dsh-mum Container: dsh-dad Container: dsh-son + No Bash Plugin No Bash Plugin Full Coder Plugins +``` + +--- + +## 2. Docker Compose Configuration (`docker-compose.yml`) + +This configuration isolates the file system environments. Adjust host directories to match your local system paths. + +```yaml +version: '3.8' + +services: + dsh-mum: + image: node:20-slim + container_name: dsh-mum + command: npx @deepseek-ai/dsh web --port 3080 + ports: + - "3081:3080" + volumes: + - /home/user/dsh/mum/workspace:/workspace + - /home/user/dsh/mum/config:/root/.config + restart: unless-stopped + + dsh-dad: + image: node:20-slim + container_name: dsh-dad + command: npx @deepseek-ai/dsh web --port 3080 + ports: + - "3082:3080" + volumes: + - /home/user/dsh/dad/workspace:/workspace + - /home/user/dsh/dad/config:/root/.config + restart: unless-stopped +``` + +--- + +## 3. Caddy Reverse Proxy Configuration (`Caddyfile`) + +Map local subdomains cleanly to prevent container path routing errors. + +```caddy +mum.ds.home.lab { + reverse_proxy 127.0.0.1:3081 +} + +dad.ds.home.lab { + reverse_proxy 127.0.0.1:3082 +} +``` + +--- + +## 4. Hardening & Customizing Tools (`dsh.config.yaml`) + +To remove terminal or bash access, drop the shell execution plugins from the runtime profile. Place this file inside the user's config volume directory. + +```yaml +# Target OmniRoute or external endpoints +providers: + openai-compatible: + baseUrl: "https://api.omniroute.example/v1" # Replace with your OmniRoute URL + apiKey: "your-omniroute-api-key" + +# Explicitly register safe household plugins +plugins: + - name: dsh-plugin-file-editor + - name: dsh-plugin-translation + - name: dsh-plugin-ocr + +# STRICTLY EXCLUDED (Do not list these to block terminal access): +# - dsh-plugin-shell +# - persistent-bash +``` + +--- + +## 5. Deployment Commands + +1. **Create directories:** `mkdir -p /home/user/dsh/{mum,dad}/{workspace,config}` +2. **Launch containers:** `docker compose up -d` +3. **Reload proxy:** `caddy reload` + diff --git a/000 daily/Untitled.md b/000 daily/Untitled.md deleted file mode 100644 index a0482c9..0000000 --- a/000 daily/Untitled.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -created: 2026-08-21 20:08 -modified: 2026-08-21 20:08 -type: note -tags: [] -aliases: [] ---- -# [[Untitled]] - -