Commit Graph

461 Commits

Author SHA1 Message Date
Gan, Jimmy 2498876c78 Fix sidebar: add overflow scroll for small screens 2026-02-25 00:09:49 +08:00
Gan, Jimmy 6c3bb26c3d Clean up: remove stale scripts/docs, fix debug prints, update PLAN.md 2026-02-24 10:14:48 +08:00
Gan, Jimmy 98975f45c2 Update LAN IP to 192.168.31.221 for Sidebar links 2026-02-24 01:46:07 +08:00
Gan, Jimmy 444566f4b4 Phase 9: backup script + Telegram alerts; add Phase 13 placeholder; fix OpenClaw ANTHROPIC_BASE_URL 2026-02-22 20:36:12 +08:00
Gan, Jimmy 25dbe7ad1d Add Audiobookshelf, Stirling PDF, Vaultwarden to sidebar; update PLAN.md 2026-02-22 20:13:39 +08:00
Gan, Jimmy 549af23c14 Fix storage display: deduplicate volumes by device 2026-02-22 18:37:49 +08:00
Gan, Jimmy 87fdabcd50 Fix OpenClaw: auto-include gateway token in dashboard link 2026-02-22 18:30:34 +08:00
Gan, Jimmy 8797231f53 Add container health status, multi-volume storage, auto-refresh Overview 2026-02-22 17:11:17 +08:00
Gan, Jimmy ae98811c23 Smart LAN routing for Navidrome sidebar link 2026-02-22 16:59:33 +08:00
Gan, Jimmy 2da9d47bdd Fix passkey login on non-HTTPS connections 2026-02-22 16:52:27 +08:00
Gan, Jimmy 3c186989b1 Smart LAN detection for sidebar service links 2026-02-22 16:45:31 +08:00
Gan, Jimmy 57f6780d7c Replace Emby with Jellyfin in sidebar 2026-02-22 16:28:00 +08:00
Gan, Jimmy eadd44eee5 Fix Settings page dark mode styling 2026-02-22 15:03:36 +08:00
Gan, Jimmy 5d77ca5a3d Add Speedtest to sidebar, set up on port 8080 2026-02-22 14:57:47 +08:00
Gan, Jimmy d388657d04 Fix audit log timezone to UTC+8 2026-02-22 12:42:21 +08:00
Gan, Jimmy 4a666c2914 Categorize audit log by threat level with filtering UI 2026-02-22 12:38:59 +08:00
Gan, Jimmy a32588a7cc Add audit log viewer to Settings page 2026-02-22 12:34:21 +08:00
Gan, Jimmy 19b3de3c91 Show passkey names and dates, add individual delete 2026-02-22 12:20:05 +08:00
Gan, Jimmy 144016e3c9 Add PublicKeyCredential guard for passkey registration 2026-02-22 11:44:02 +08:00
Gan, Jimmy be1f3b3ad6 Add security improvements: refresh tokens, passkeys, CSP, audit logging, TOTP encryption
- 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 a10cb50ca0 Add __pycache__ to gitignore and remove duplicates 2026-02-22 10:05:37 +08:00
Gan, Jimmy 43156101d9 Fix Navidrome sidebar link to use music.jimmygan.com 2026-02-21 11:20:56 +08:00
Gan, Jimmy b1dee47126 Add CORS, rate limiting, security headers, and files endpoint protection 2026-02-21 11:18:29 +08:00
Gan, Jimmy 7b4c52f646 Fix CI: use --pull never instead of --no-pull 2026-02-21 11:16:07 +08:00
Gan, Jimmy 0c80e07735 Fix CI: remove checkout step that requires GitHub access 2026-02-21 11:14:04 +08:00
Gan, Jimmy 74a4fa1d4b Fix CI: add --no-pull to avoid Docker Hub pull failure 2026-02-21 11:09:52 +08:00
Gan, Jimmy a265c6ffb0 Use docker save/load for cross-build deploy from M1 to NAS 2026-02-21 11:05:00 +08:00
Gan, Jimmy 370417b37d Switch to cross-build from M1 via Gitea container registry 2026-02-21 00:40:46 +08:00
Gan, Jimmy 7225615e2f Enable Docker BuildKit for faster builds 2026-02-20 23:57:16 +08:00
Gan, Jimmy 5a94df7973 Revert to Github action checkout & add proxy variables 2026-02-20 23:52:34 +08:00
Gan, Jimmy 3fec3c4e4f Fix checkout action mirror absolute url 2026-02-20 23:28:01 +08:00
Gan, Jimmy 162c5d486d Add workflow path to trigger 2026-02-20 23:24:04 +08:00
Gan, Jimmy fc13510fec Fix action clone timeout by using gitea mirror 2026-02-20 22:29:32 +08:00
Gan, Jimmy 17e7073fab Fix proxy env bug in Telegram alert 2026-02-20 22:21:16 +08:00
Gan, Jimmy dd3e8e0d2c security: remove hardcoded secrets, add health endpoint, add security headers 2026-02-20 22:04:01 +08:00
Gan, Jimmy 7aec5976df fix: resolve OpenClaw iframe connection refused and Docker HTTP proxy conflict 2026-02-20 17:25:16 +08:00
Gan, Jimmy ec2f60fb2f fix: add proxy support to httpx to allow Telegram API requests 2026-02-20 10:36:59 +08:00
Gan, Jimmy b063382085 feat: add container monitor & telegram alerts
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 47a97a09fe feat: add claude-dev docker setup & update openclaw config
Added Dockerfile and docker-compose.yml for claude-dev on NAS. Updated openclaw docker-compose.yml to include --allow-unconfigured argument.
2026-02-20 09:19:36 +08:00
Gan, Jimmy a882f45f2e Add multi-host terminal: NAS + VPS side-by-side 2026-02-20 00:53:29 +08:00
Gan, Jimmy c345f647c7 Fix deploy: use absolute path for SSH key bind mount 2026-02-20 00:25:17 +08:00
Gan, Jimmy a345ba1466 Add mobile responsive sidebar, OpenClaw route 2026-02-20 00:15:36 +08:00
Gan, Jimmy 64ecd99dc7 Add OpenClaw, backup automation, health checks, Telegram notifications
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 6f540ccdce Fix terminal: use create_process with binary encoding for PTY I/O 2026-02-19 20:32:36 +08:00
Gan, Jimmy 197b7c1cbb Fix session expiry: use config value, increase to 7 days
- 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 ee2e5dcb3c Terminal: SSH to NAS host instead of container shell
- 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
Gan, Jimmy 91c8d1b775 Bump version to v1.2 — CI/CD pipeline test
Deploy Dashboard / deploy (push) Failing after 2m6s
2026-02-19 10:18:32 +08:00