feat: HomeDash - unified self-hosted navigation portal

Single-container navigation service combining:
- Dashy dashboard + SearXNG metasearch + history sync API + admin WebUI
- Go services for history/admin APIs, nginx as unified entry
- Browser extensions (Chrome MV3 / Firefox MV2) with 30s batched sync
- Production guide: portal-nginx unified auth reverse proxy + webui4frpc/frp tunnel
- Fully sanitized (no internal IPs/domains/credentials)
This commit is contained in:
JianFeeeee
2026-09-08 22:25:00 +08:00
commit 7e49d2b51c
26 changed files with 1970 additions and 0 deletions

32
docker-compose.yml Normal file
View File

@ -0,0 +1,32 @@
version: "3.8"
services:
navi:
build: .
container_name: jianf-navi
image: jianf-navi:latest
restart: unless-stopped
ports:
- "3003:8080"
volumes:
- ./data:/app/data
environment:
# 设置后,浏览器插件同步和管理 UI 的写操作需要此令牌
- NAVI_SYNC_TOKEN=${NAVI_SYNC_TOKEN:-}
# 设置后,管理 API 的写操作需要此令牌
- NAVI_ADMIN_TOKEN=${NAVI_ADMIN_TOKEN:-}
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/healthz"]
interval: 30s
timeout: 5s
start_period: 30s
retries: 3
deploy:
resources:
limits:
memory: 512M
# 使用方式:
# 1. 复制 .env.example 为 .env 并修改
# 2. docker compose up -d
# 3. 访问 http://your-ip:3003