Commit Graph

57 Commits

Author SHA1 Message Date
Gan, Jimmy fa4da3868e feat: add voice mode (STT/TTS) to terminal page
Deploy Dashboard / deploy (push) Successful in 1m10s
2026-02-26 15:35:43 +08:00
Gan, Jimmy 6675d7b7d4 feat: n8n via HTTPS subdomain on NAS Caddy
Deploy Dashboard / deploy (push) Successful in 1m3s
2026-02-26 14:46:29 +08:00
Gan, Jimmy 70b77a7777 feat: add n8n to dashboard sidebar
Deploy Dashboard / deploy (push) Successful in 1m10s
2026-02-26 13:35:12 +08:00
Gan, Jimmy 879ae4b6a3 feat: smart LAN detection for sidebar links via X-Forwarded-For and router probe 2026-02-26 03:34:47 +08:00
Gan, Jimmy 22e9066ffe feat: terminal tabs with on-demand connections and Claude Dev host
Deploy Dashboard / deploy (push) Successful in 2m22s
2026-02-26 02:59:25 +08:00
Gan, Jimmy 69ed0f981c fix: support port 8443 origin for WebAuthn passkeys and CORS
Deploy Dashboard / deploy (push) Successful in 35s
2026-02-26 02:00:29 +08:00
Gan, Jimmy a95bac7f7c feat: update Navidrome remoteHref to use NAS Caddy port 8443
Deploy Dashboard / deploy (push) Successful in 1m4s
2026-02-26 01:56:38 +08:00
jimmy c91954e33f revert test commit
Deploy Dashboard / deploy (push) Successful in 30s
2026-02-25 13:46:29 +00:00
jimmy 9fb78c2b71 test: verify Claude Code on NAS can build+deploy
Deploy Dashboard / deploy (push) Successful in 48s
2026-02-25 13:40:11 +00:00
Gan, Jimmy a968364f18 CI: add build step to deploy workflow
- Clone from local Gitea instead of actions/checkout
- Build with legacy builder (DOCKER_BUILDKIT=0) for Docker mirror support
- Use npm China mirror (registry.npmmirror.com) in Dockerfile
- Combined npm install+build in single RUN step
- Removed stale proxy env vars
2026-02-25 21:14:00 +08:00
Gan, Jimmy adaaee1350 Fix sidebar links: use Tailscale IP when accessed via public domain
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-25 00:22:54 +08:00
Gan, Jimmy 6ae0cab143 Reorganize sidebar: Main/Media/Tools categories, Settings to bottom
Deploy Dashboard / deploy (push) Successful in 30s
2026-02-25 00:16:49 +08:00
Gan, Jimmy 4289e98b7a Fix sidebar: add overflow scroll for small screens
Deploy Dashboard / deploy (push) Successful in 38s
2026-02-25 00:09:49 +08:00
Gan, Jimmy facda4eadd Clean up: remove stale scripts/docs, fix debug prints, update PLAN.md
Deploy Dashboard / deploy (push) Successful in 37s
2026-02-24 10:14:48 +08:00
Gan, Jimmy bbf187fd27 Update LAN IP to 192.168.31.221 for Sidebar links
Deploy Dashboard / deploy (push) Successful in 55s
2026-02-24 01:46:07 +08:00
Gan, Jimmy 4310ae5fee Add Audiobookshelf, Stirling PDF, Vaultwarden to sidebar; update PLAN.md
Deploy Dashboard / deploy (push) Successful in 1m32s
2026-02-22 20:13:39 +08:00
Gan, Jimmy dd54c41646 Fix storage display: deduplicate volumes by device
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-22 18:37:49 +08:00
Gan, Jimmy c081e87a5e Fix OpenClaw: auto-include gateway token in dashboard link
Deploy Dashboard / deploy (push) Successful in 48s
2026-02-22 18:30:34 +08:00
Gan, Jimmy edcaea61f0 Add container health status, multi-volume storage, auto-refresh Overview
Deploy Dashboard / deploy (push) Successful in 35s
2026-02-22 17:11:17 +08:00
Gan, Jimmy 5023137d21 Smart LAN routing for Navidrome sidebar link
Deploy Dashboard / deploy (push) Successful in 34s
2026-02-22 16:59:33 +08:00
Gan, Jimmy b8733f31f9 Fix passkey login on non-HTTPS connections
Deploy Dashboard / deploy (push) Successful in 32s
2026-02-22 16:52:27 +08:00
Gan, Jimmy bf15dad061 Smart LAN detection for sidebar service links
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-22 16:45:31 +08:00
Gan, Jimmy c280a64d07 Replace Emby with Jellyfin in sidebar
Deploy Dashboard / deploy (push) Successful in 42s
2026-02-22 16:28:00 +08:00
Gan, Jimmy df01b3a452 Fix Settings page dark mode styling
Deploy Dashboard / deploy (push) Successful in 28s
2026-02-22 15:03:36 +08:00
Gan, Jimmy db50b18607 Add Speedtest to sidebar, set up on port 8080
Deploy Dashboard / deploy (push) Successful in 2m2s
2026-02-22 14:57:47 +08:00
Gan, Jimmy 13eec52cc4 Fix audit log timezone to UTC+8
Deploy Dashboard / deploy (push) Successful in 25s
2026-02-22 12:42:21 +08:00
Gan, Jimmy eb3391cec4 Categorize audit log by threat level with filtering UI
Deploy Dashboard / deploy (push) Successful in 26s
2026-02-22 12:38:59 +08:00
Gan, Jimmy 8e8f465b40 Add audit log viewer to Settings page
Deploy Dashboard / deploy (push) Successful in 28s
2026-02-22 12:34:21 +08:00
Gan, Jimmy ffac6f47bf Show passkey names and dates, add individual delete
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-22 12:20:05 +08:00
Gan, Jimmy 888d3e5c49 Add PublicKeyCredential guard for passkey registration
Deploy Dashboard / deploy (push) Successful in 35s
2026-02-22 11:44:02 +08:00
Gan, Jimmy 9683cd3165 Add security improvements: refresh tokens, passkeys, CSP, audit logging, TOTP encryption
Deploy Dashboard / deploy (push) Successful in 1m26s
- Shorten access token to 30min with 7-day refresh token flow
- Add WebAuthn passkey registration and login with TOTP fallback
- Add Content-Security-Policy header
- Add audit logging middleware to /volume1/docker/nas-dashboard/audit.log
- Block /volume1/docker/ in files endpoint
- Encrypt TOTP secret at rest with Fernet (derived from SECRET_KEY)
- New deps: py_webauthn, cryptography
2026-02-22 11:04:40 +08:00
Gan, Jimmy bcf994e6e3 Fix Navidrome sidebar link to use music.jimmygan.com
Deploy Dashboard / deploy (push) Successful in 17s
2026-02-21 11:20:56 +08:00
Gan, Jimmy c5fcb9bc64 Add CORS, rate limiting, security headers, and files endpoint protection
Deploy Dashboard / deploy (push) Successful in 18s
2026-02-21 11:18:29 +08:00
Gan, Jimmy d3ccca52f0 Use docker save/load for cross-build deploy from M1 to NAS
Deploy Dashboard / deploy (push) Failing after 2m7s
2026-02-21 11:05:00 +08:00
Gan, Jimmy 1e3bd71bfb Switch to cross-build from M1 via Gitea container registry
Deploy Dashboard / deploy (push) Failing after 1m31s
2026-02-21 00:40:46 +08:00
Gan, Jimmy 9fcce3a0a8 Fix proxy env bug in Telegram alert
Deploy Dashboard / deploy (push) Failing after 2m7s
2026-02-20 22:21:16 +08:00
Gan, Jimmy 18605926ca security: remove hardcoded secrets, add health endpoint, add security headers 2026-02-20 22:04:01 +08:00
Gan, Jimmy c6392556d5 fix: resolve OpenClaw iframe connection refused and Docker HTTP proxy conflict
Deploy Dashboard / deploy (push) Successful in 8m20s
2026-02-20 17:25:16 +08:00
Gan, Jimmy 0519a4b4c6 fix: add proxy support to httpx to allow Telegram API requests
Deploy Dashboard / deploy (push) Successful in 3m24s
2026-02-20 10:36:59 +08:00
Gan, Jimmy 1a93caf62d feat: add container monitor & telegram alerts
Deploy Dashboard / deploy (push) Has been cancelled
Added asyncio monitoring task to main.py to watch Docker container state transitions and send Telegram notifications on failures.
2026-02-20 10:31:18 +08:00
Gan, Jimmy 050793e0f0 Add multi-host terminal: NAS + VPS side-by-side
Deploy Dashboard / deploy (push) Failing after 3m5s
2026-02-20 00:53:29 +08:00
Gan, Jimmy 6047b2aade Fix deploy: use absolute path for SSH key bind mount
Deploy Dashboard / deploy (push) Successful in 1m30s
2026-02-20 00:25:17 +08:00
Gan, Jimmy 27cab6b8d0 Add mobile responsive sidebar, OpenClaw route
Deploy Dashboard / deploy (push) Failing after 3m30s
2026-02-20 00:15:36 +08:00
Gan, Jimmy 28149b991e Add OpenClaw, backup automation, health checks, Telegram notifications
Deploy Dashboard / deploy (push) Failing after 1m52s
Phase 6: OpenClaw docker-compose (port 3100) with health check
Phase 9: Enhanced backup.sh with full DB/config coverage + Telegram alerts
Phase 10: Health checks on all compose files, /api/system/notify endpoint
2026-02-19 21:40:34 +08:00
Gan, Jimmy 88a45b9779 Fix terminal: use create_process with binary encoding for PTY I/O
Deploy Dashboard / deploy (push) Failing after 3m26s
2026-02-19 20:32:36 +08:00
Gan, Jimmy b2c27683e3 Fix session expiry: use config value, increase to 7 days
Deploy Dashboard / deploy (push) Failing after 6m38s
- LOGIN was ignoring ACCESS_TOKEN_EXPIRE_MINUTES (hardcoded 15min default)
- Pass expires_delta from config in login route
- Increase token lifetime from 30min to 7 days
2026-02-19 19:44:30 +08:00
Gan, Jimmy 36f1fc0962 Terminal: SSH to NAS host instead of container shell
Deploy Dashboard / deploy (push) Has been cancelled
- Rewrite terminal.py to use asyncssh instead of pty/fork
- Add SSH key pair for dashboard container auth
- Mount SSH key and add SSH config vars in docker-compose
- Install openssh-client in Dockerfile
- Add asyncssh to requirements.txt
2026-02-19 19:24:38 +08:00
Gan, Jimmy 69bd41b5a1 Fix terminal: pass JWT via query param, remove Docker-incompatible IP check
Deploy Dashboard / deploy (push) Failing after 2m11s
2026-02-19 17:44:55 +08:00
Gan, Jimmy bf49e13e56 Add settings page with change password, fix terminal ws bug
Deploy Dashboard / deploy (push) Failing after 2m5s
2026-02-19 17:29:03 +08:00
Gan, Jimmy 4036292273 Bump version to v1.3 — runner DNS fixed
Deploy Dashboard / deploy (push) Successful in 3m39s
2026-02-19 10:26:40 +08:00