Skip to content

Commit 17c1080

Browse files
Update README/install/setup docs and changelog
1 parent 672ed2b commit 17c1080

6 files changed

Lines changed: 280 additions & 21 deletions

File tree

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,43 @@
22

33
All notable changes to the project will be documented in this file.
44

5+
## [2.1.1] - 2026-07-11
6+
7+
### 🔧 Devcontainer and Setup Reliability
8+
9+
- Updated `.devcontainer/devcontainer.json`:
10+
- workspace path compatibility for Codespaces
11+
- docker-outside-of-docker feature enablement
12+
- Python and Docker VS Code extension recommendations
13+
- explicit bash post-create invocation
14+
- Updated `.devcontainer/Dockerfile` with missing runtime and diagnostics packages.
15+
- Reworked `.devcontainer/post_create.sh` to be idempotent, root-safe, and configurable with:
16+
- `MOHAWK_SKIP_LIBOQS_BUILD=1`
17+
- `MOHAWK_SKIP_PY_DEPS=1`
18+
19+
### 🖥️ Full-Stack Desktop GUI Launch Improvements
20+
21+
- Fixed startup ordering in `mohawk_gui/main_window.py`:
22+
- initialize status bar before tab refresh paths
23+
- start background health thread only after UI widget initialization
24+
- Added environment-based backend URL overrides for desktop GUI runtime.
25+
- Added reusable desktop GUI launcher flow in `launch.py` for both native and Docker orchestration.
26+
- Updated `launch.sh` dependency probe to include `PyQt6`.
27+
- Added `mohawk-desktop-gui` service to `docker-compose.yml`.
28+
- Added full-stack parity services to `docker-compose.dev.yml` and adjusted conflicting host port mapping.
29+
30+
### 📚 Documentation Updates
31+
32+
- Updated `README.md` quick-start and documentation index.
33+
- Updated `QUICKSTART.md` with launcher/devcontainer paths and focused model/chat smoke checks.
34+
- Updated `DOCKER_SETUP.md` desktop GUI behavior notes and skip flag usage.
35+
- Added `INSTALL.md` and `SETUP.md` for clear install/runtime guidance.
36+
37+
### ✅ Validation
38+
39+
- End-to-end functional test executed: `python test_user_functions.py`.
40+
- Result: `33/33 passed (100.0%)` including model list/load and chat inference paths.
41+
542
## [2.1.0] - 2024-01-15
643

744
### 🎉 Major Release: Professional Dashboard with LM Studio Features

DOCKER_SETUP.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,21 @@ The GUI window will open and connect to the Docker-based backend services.
7171
|---------|------|----------|---------|
7272
| mohawk-gui | 8003 | Docker Container | Backend API & health endpoints |
7373
| mohawk-worker | 8004 | Docker Container | Inference worker service |
74+
| mohawk-desktop-gui | n/a | Docker Container | Desktop GUI launcher (display-dependent) |
7475
| PyQt6 GUI | (Local) | Your Machine | Desktop application interface |
7576

77+
## Desktop GUI Launch Behavior
78+
79+
- `docker compose up -d --build` includes `mohawk-desktop-gui` for one-click full-stack startup.
80+
- If `DISPLAY` is not set, the desktop GUI service exits cleanly and backend APIs continue running.
81+
- `launch.py` sets `MOHAWK_SKIP_DESKTOP_GUI=1` when orchestrating compose to avoid duplicate GUI instances, then launches host desktop GUI directly when supported.
82+
83+
Skip container desktop GUI explicitly:
84+
85+
```bash
86+
MOHAWK_SKIP_DESKTOP_GUI=1 docker compose up -d --build
87+
```
88+
7689
## Container Management
7790

7891
### View Container Logs

INSTALL.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Mohawk Inference Engine - Install Guide
2+
3+
## Prerequisites
4+
5+
- Python 3.10+
6+
- Git
7+
- Docker + Docker Compose (recommended for full stack)
8+
- Linux/macOS shell or PowerShell on Windows
9+
10+
For desktop GUI launch on Linux, ensure display libraries and `DISPLAY` are available.
11+
12+
## Clone
13+
14+
```bash
15+
git clone https://github.com/rwilliamspbg-ops/Mohawk-Inference-Engine.git
16+
cd Mohawk-Inference-Engine
17+
```
18+
19+
## Python Environment
20+
21+
```bash
22+
python3 -m venv .venv
23+
source .venv/bin/activate
24+
pip install --upgrade pip
25+
pip install -r requirements.txt
26+
```
27+
28+
Windows PowerShell:
29+
30+
```powershell
31+
python -m venv .venv
32+
.\.venv\Scripts\Activate.ps1
33+
pip install --upgrade pip
34+
pip install -r requirements.txt
35+
```
36+
37+
## Optional: Devcontainer
38+
39+
In VS Code:
40+
- Dev Containers: Rebuild and Reopen in Container
41+
42+
Then run:
43+
44+
```bash
45+
bash .devcontainer/post_create.sh
46+
```
47+
48+
Fast smoke mode:
49+
50+
```bash
51+
MOHAWK_SKIP_LIBOQS_BUILD=1 MOHAWK_SKIP_PY_DEPS=1 bash .devcontainer/post_create.sh
52+
```
53+
54+
## Verify Install
55+
56+
```bash
57+
python - <<'PY'
58+
import fastapi, uvicorn, requests, psutil
59+
print('Core dependencies OK')
60+
PY
61+
```
62+
63+
## Next
64+
65+
- Go to `SETUP.md` for runtime startup options.
66+
- Go to `QUICKSTART.md` for API smoke tests.

QUICKSTART.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,17 @@ Mohawk is a production-grade AI inference engine with:
1515

1616
---
1717

18-
## Quick Start (Docker)
18+
## Quick Start Paths
19+
20+
### A) One-Click Launcher
21+
22+
```bash
23+
./launch.sh
24+
```
25+
26+
Use menu option 1 (Docker stack) or option 2 (Native host processes). The launcher now attempts to auto-open the desktop GUI when the runtime supports display output.
27+
28+
### B) Docker Full Stack
1929

2030
### 1. Start All Services
2131

@@ -27,6 +37,12 @@ docker compose up -d
2737
docker ps
2838
```
2939

40+
Optional: skip container desktop GUI service when running from raw compose.
41+
42+
```bash
43+
MOHAWK_SKIP_DESKTOP_GUI=1 docker compose up -d --build
44+
```
45+
3046
**Expected Output:**
3147
```
3248
CONTAINER ID IMAGE STATUS PORTS
@@ -47,6 +63,21 @@ curl http://localhost:8004/health
4763
# {"status":"healthy","service":"...","timestamp":"2026-06-24T..."}
4864
```
4965

66+
### C) Devcontainer
67+
68+
```bash
69+
# In VS Code:
70+
# Dev Containers: Rebuild and Reopen in Container
71+
72+
bash .devcontainer/post_create.sh
73+
```
74+
75+
Fast smoke setup without expensive rebuild steps:
76+
77+
```bash
78+
MOHAWK_SKIP_LIBOQS_BUILD=1 MOHAWK_SKIP_PY_DEPS=1 bash .devcontainer/post_create.sh
79+
```
80+
5081
### 3. List Available Models
5182

5283
```bash
@@ -179,6 +210,23 @@ python test_user_functions.py
179210
# SUMMARY: 33/33 passed (100.0%)
180211
```
181212

213+
### Validate Model Select + Chat Inference Only
214+
215+
```bash
216+
# List models
217+
curl http://localhost:8003/api/models
218+
219+
# Load model
220+
curl -X POST http://localhost:8003/api/models/load \
221+
-H "Content-Type: application/json" \
222+
-d '{"model": "Llama-3-8B-Instruct-Q4_K_M"}'
223+
224+
# Run chat inference
225+
curl -X POST http://localhost:8003/api/inference/chat \
226+
-H "Content-Type: application/json" \
227+
-d '{"message":"Hello from smoke test","temperature":0.7,"top_p":0.9,"max_tokens":128}'
228+
```
229+
182230
### View Logs
183231

184232
```bash

README.md

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -71,36 +71,51 @@ A secure, scalable GUI for managing multi-device inference sessions with **enter
7171

7272
## 📦 Quick Start
7373

74-
### Installation (3 minutes)
74+
### Option A: One-Click Launcher (Recommended)
7575

7676
```bash
77-
# Clone repository
78-
cd C:\Users\rwill\Mohawk-Inference-Engine
77+
./launch.sh
78+
```
79+
80+
This bootstraps a local virtual environment, installs missing dependencies, and opens the interactive launcher for native or Docker full-stack modes.
81+
82+
### Option B: Docker Full Stack
83+
84+
```bash
85+
docker compose up -d --build
86+
```
7987

80-
# Create virtual environment
81-
python -m venv venv
82-
venv\Scripts\activate # Windows: venv\Scripts\activate
88+
Services:
89+
- GUI backend: `http://localhost:8003`
90+
- Worker service: `http://localhost:8004`
8391

84-
# Install dependencies
92+
Desktop GUI auto-launches when the display environment supports it. To skip container desktop GUI launch:
93+
94+
```bash
95+
MOHAWK_SKIP_DESKTOP_GUI=1 docker compose up -d --build
96+
```
97+
98+
### Option C: Native API + Desktop GUI
99+
100+
```bash
101+
python3 -m venv .venv
102+
source .venv/bin/activate
85103
pip install -r requirements.txt
86104

87-
# Generate auth key (first run only)
88-
mkdir -p certs
89-
python mohawk_gui/main.py --key-file certs/auth_key.pem
105+
# Start full stack from launcher
106+
python launch.py
90107
```
91108

92-
### Running the Dashboard
109+
### Validate Inference + Model Selection End-to-End
93110

94111
```bash
95-
# Development mode
96-
python mohawk_gui/main.py
97-
98-
# Production mode with SSL
99-
python mohawk_gui/main.py \
100-
--host 0.0.0.0 \
101-
--port 8003 \
102-
--ssl-enabled \
103-
--key-file certs/auth_key.pem
112+
python test_user_functions.py
113+
```
114+
115+
Expected summary:
116+
117+
```text
118+
SUMMARY: 33/33 passed (100.0%)
104119
```
105120

106121
### Building Executable (Windows)
@@ -266,8 +281,12 @@ docker run -d \
266281

267282
## 📚 Documentation
268283

284+
- **[📦 Install Guide](INSTALL.md)** - prerequisites and environment setup
285+
- **[🛠️ Setup Guide](SETUP.md)** - local, Docker, and devcontainer run paths
269286
- **[📖 Dashboard Features Guide](mohawk_gui/DASHBOARD_FEATURES.md)** - Complete feature documentation
270287
- **[⚡ Quick Start Guide](mohawk_gui/QUICK_START.md)** - 3-minute setup guide
288+
- **[⚡ API Quick Start](QUICKSTART.md)** - endpoint-focused smoke flow
289+
- **[🐳 Docker Setup](DOCKER_SETUP.md)** - container runtime details and troubleshooting
271290
- **[🏗️ Implementation Plan](GUI_IMPLEMENTATION_PLAN.md)** - Architecture details
272291
- **[✅ Production Readiness](GUI_PRODUCTION_READINESS.md)** - Quality checklist
273292

SETUP.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Mohawk Inference Engine - Setup Guide
2+
3+
## Setup Options
4+
5+
## 1) One-Click Launcher (recommended)
6+
7+
```bash
8+
./launch.sh
9+
```
10+
11+
What it does:
12+
- Creates/uses local virtual environment
13+
- Installs missing dependencies
14+
- Offers native and Docker full-stack launch modes
15+
- Auto-launches desktop GUI when environment supports it
16+
17+
## 2) Docker Full Stack
18+
19+
```bash
20+
docker compose up -d --build
21+
```
22+
23+
Services:
24+
- GUI backend: `http://localhost:8003`
25+
- Worker: `http://localhost:8004`
26+
27+
Desktop GUI container behavior:
28+
- Starts when display is available
29+
- Exits cleanly if `DISPLAY` is missing
30+
31+
Skip desktop GUI container explicitly:
32+
33+
```bash
34+
MOHAWK_SKIP_DESKTOP_GUI=1 docker compose up -d --build
35+
```
36+
37+
## 3) Native Backend + GUI
38+
39+
```bash
40+
source .venv/bin/activate
41+
python launch.py
42+
```
43+
44+
Or run API services manually:
45+
46+
```bash
47+
python -m uvicorn prototype.worker:app --host 127.0.0.1 --port 8004
48+
python -m uvicorn prototype.gui_backend:app --host 127.0.0.1 --port 8003
49+
```
50+
51+
## Health Checks
52+
53+
```bash
54+
curl http://localhost:8003/health
55+
curl http://localhost:8004/health
56+
```
57+
58+
## Functional Validation
59+
60+
Run end-to-end checks for model selection and chat inference:
61+
62+
```bash
63+
python test_user_functions.py
64+
```
65+
66+
Expected summary:
67+
68+
```text
69+
SUMMARY: 33/33 passed (100.0%)
70+
```
71+
72+
## Troubleshooting
73+
74+
- If GUI does not open in Docker mode, verify `DISPLAY` and X11 access.
75+
- If ports are busy (`8003`, `8004`), stop conflicting processes before launch.
76+
- If `docker` is unavailable in devcontainer, rebuild container to apply `.devcontainer/devcontainer.json` features.

0 commit comments

Comments
 (0)