sam-4screen-desktop 2026-8-21:20:24:8
This commit is contained in:
8
.obsidian/workspace.json
vendored
8
.obsidian/workspace.json
vendored
@@ -13,12 +13,12 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "000 daily/Untitled.md",
|
"file": "000 daily/DeepSeek Harness (dsh) Home Lab Setup.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "Untitled"
|
"title": "DeepSeek Harness (dsh) Home Lab Setup"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "file-properties",
|
"type": "file-properties",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "000 daily/Untitled.md"
|
"file": "000 daily/DeepSeek Harness (dsh) Home Lab Setup.md"
|
||||||
},
|
},
|
||||||
"icon": "lucide-info",
|
"icon": "lucide-info",
|
||||||
"title": "File properties"
|
"title": "File properties"
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
"active": "a9e576f63f63e5e0",
|
"active": "a9e576f63f63e5e0",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"000 daily/basketball training.md",
|
"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",
|
"000 daily/Daily Notes and To Do.md",
|
||||||
"200 projects/210 AI Resume/AI Resume - Content Organization Plan.md",
|
"200 projects/210 AI Resume/AI Resume - Content Organization Plan.md",
|
||||||
"200 projects/210 AI Resume/Trigger.Dev.md",
|
"200 projects/210 AI Resume/Trigger.Dev.md",
|
||||||
|
|||||||
109
000 daily/DeepSeek Harness (dsh) Home Lab Setup.md
Normal file
109
000 daily/DeepSeek Harness (dsh) Home Lab Setup.md
Normal file
@@ -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`
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
created: 2026-08-21 20:08
|
|
||||||
modified: 2026-08-21 20:08
|
|
||||||
type: note
|
|
||||||
tags: []
|
|
||||||
aliases: []
|
|
||||||
---
|
|
||||||
# [[Untitled]]
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user