Add Nuggets host upload portal with Seafile integration; v2.0.4

- New /host-upload page: per-host login (username + password) with
  session cookie, drag-and-drop file upload to Seafile via server proxy
- Two upload targets: Episode Upload (audio) and Episode Info (docs)
- Server route: /api/nuggets-upload/* for host auth + file proxy,
  /api/admin/nuggets-upload/hosts for admin CRUD (create/disable/reset pw/delete)
- Admin panel: Nuggets → Upload Portal view to manage host accounts
- Seafile config via SEAFILE_URL / SEAFILE_TOKEN / SEAFILE_NUGGETS_REPO_ID env vars
- Directories default to /Episode Upload and /Episode Info (configurable)
- Uses multer for multipart uploads; 500 MB per-file limit

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-09-08 13:38:57 -04:00
1 parent 29d2ace1b2
commit afdc00114a
9 files changed
+1074 -3

No files matched your search

+6
View File
@@ -10,6 +10,12 @@ services:
- SITEFORGE_DATA_DIR=/app/data
- ADMIN_PASSWORD=`generate a random password and set it here`
- RESEND_API_KEY=`set your Resend API key here`
# Seafile integration for Nuggets host upload portal
# Get SEAFILE_TOKEN from: Seafile → Profile → Settings → API Token → Generate
# Get SEAFILE_NUGGETS_REPO_ID from the URL when viewing the Nuggets library in Seafile
- SEAFILE_URL=https://seafile.necloud.us
- SEAFILE_TOKEN=your_seafile_api_token_here
- SEAFILE_NUGGETS_REPO_ID=your_repo_id_here
volumes:
- /media/ZimaOS-HD/AppData/siteforge/data:/app/data
restart: unless-stopped