You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
📝 docs: update README with unified port architecture and Docker improvements
- Document single-port deployment: gateway serves UI/API/WS on 8080
- Add Ports & Services table showing production vs development setup
- Clarify Vite dev server (5173) proxies to gateway (8080) in dev mode
- Update WebSocket endpoint: ws://localhost:8080/ws (not separate port)
- Fix docker-compose to use root Dockerfile (includes UI bundle)
- Update test counts: 545+ files, 26,500+ tests (was 383/22,000)
- Improve gateway
Copy file name to clipboardExpand all lines: README.md
+39-22Lines changed: 39 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -230,9 +230,9 @@ Privacy-first personal AI assistant platform with soul agents, autonomous backgr
230
230
```
231
231
┌──────────────┐
232
232
│ Web UI │ React 19 + Vite 7
233
-
│ (Port 5173) │ Tailwind CSS 4
233
+
│ (bundled) │ Tailwind CSS 4
234
234
└──────┬───────┘
235
-
│ HTTP + SSE + WebSocket
235
+
│ HTTP + SSE + WebSocket (/ws)
236
236
┌─────────────────┼─────────────────┐
237
237
│ │ │
238
238
┌────────┴────────┐ │ ┌─────────┴──────────┐
@@ -362,11 +362,10 @@ cp .env.example .env
362
362
# Start PostgreSQL (if you don't have one already)
363
363
docker compose --profile postgres up -d
364
364
365
-
# Start development (gateway + ui)
365
+
# Start development (gateway on :8080 + Vite UI on :5173)
366
366
pnpm dev
367
367
368
-
# UI: http://localhost:5173
369
-
# API: http://localhost:8080
368
+
# Open http://localhost:5173 (Vite proxies API/WS to gateway)
370
369
```
371
370
372
371
AI provider API keys are configured via the **Config Center UI** (Settings page) after setup.
@@ -493,7 +492,7 @@ The foundational runtime library. Contains the AI engine, tool system, plugin ar
493
492
494
493
The API server built on [Hono](https://hono.dev/). Handles HTTP/WebSocket communication, database operations, agent execution, MCP integration, plugin management, and channel connectivity.
495
494
496
-
**~76,000 LOC** across 210+ source files. **239 test files** with **11,750+ tests**.
495
+
**~76,000 LOC** across 210+ source files. **389 test files** with **16,400+ tests**.
|**PostgreSQL**|`25432`| TCP | Database (mapped from container's `5432`) |
1633
+
|**MQTT**|`1883`| TCP | Mosquitto broker (optional, for edge/IoT) |
1634
+
|**MQTT WS**|`9001`| WS | MQTT WebSocket transport (optional) |
1635
+
1636
+
> **Note:** In production (Docker), a single port `8080` serves everything — REST API, WebSocket, and the pre-built UI. No separate frontend deployment needed.
1628
1637
1629
-
The simplest way to run OwnPilot in production:
1638
+
### Docker Compose
1630
1639
1631
1640
```bash
1632
1641
cp .env.example .env
@@ -1637,15 +1646,13 @@ docker compose --profile postgres up -d
1637
1646
1638
1647
# With MQTT broker for edge/IoT devices
1639
1648
docker compose --profile postgres --profile mqtt up -d
1640
-
1641
-
# UI + API: http://localhost:8080
1642
1649
```
1643
1650
1644
-
The gateway container serves the bundled UI — no separate frontend deployment needed.
1651
+
Open **http://localhost:8080** — the gateway serves the bundled React UI, REST API, and WebSocket on the same port.
1645
1652
1646
1653
### Pre-built Image
1647
1654
1648
-
A multi-arch image (amd64 + arm64) is published to GitHub Container Registry:
1655
+
A multi-arch image (amd64 + arm64) is published to GitHub Container Registry on every release:
1649
1656
1650
1657
```bash
1651
1658
docker pull ghcr.io/ownpilot/ownpilot:latest
@@ -1658,19 +1665,29 @@ docker run -d \
1658
1665
ghcr.io/ownpilot/ownpilot:latest
1659
1666
```
1660
1667
1661
-
Health check endpoint: `GET /health`
1668
+
Health check: `GET http://localhost:8080/health`
1662
1669
1663
-
### Manual
1670
+
### Development Mode
1671
+
1672
+
In development, Vite runs a separate dev server with hot reload:
0 commit comments