Gan, Jimmy
cbb4f8286b
Add n8n docker-compose and include in backup
2026-02-26 14:58:42 +08:00
Gan, Jimmy
fc2a5aaa9c
feat: n8n via HTTPS subdomain on NAS Caddy
2026-02-26 14:46:29 +08:00
Gan, Jimmy
ee80084edb
feat: add n8n to dashboard sidebar
2026-02-26 13:35:12 +08:00
Gan, Jimmy
c4ebfb6432
feat: smart LAN detection for sidebar links via X-Forwarded-For and router probe
2026-02-26 03:34:47 +08:00
Gan, Jimmy
b03b20aee6
feat: terminal tabs with on-demand connections and Claude Dev host
2026-02-26 02:59:25 +08:00
Gan, Jimmy
332696689a
fix: support port 8443 origin for WebAuthn passkeys and CORS
2026-02-26 02:00:29 +08:00
Gan, Jimmy
9305ce05cd
feat: update Navidrome remoteHref to use NAS Caddy port 8443
2026-02-26 01:56:38 +08:00
jimmy
f384a220c7
revert test commit
2026-02-25 13:46:29 +00:00
jimmy
c473552d3c
test: verify Claude Code on NAS can build+deploy
2026-02-25 13:40:11 +00:00
Gan, Jimmy
f1e802e01b
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
09592d9ded
Add CLAUDE.md for shared project context
2026-02-25 02:09:04 +08:00
Gan, Jimmy
08f3065e24
Fix sidebar links: use Tailscale IP when accessed via public domain
2026-02-25 00:22:54 +08:00
Gan, Jimmy
b813597393
Reorganize sidebar: Main/Media/Tools categories, Settings to bottom
2026-02-25 00:16:49 +08:00
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