f08cffc0e8
- Add docs/ with VitePress site (19 pages): guide, config, architecture, FAQ - Add GitHub Actions workflow for auto-deploy to GitHub Pages - Replace music 'Add Tracks' upload picker with in-app audio file browser modal - Add music picker CSS styles with dark theme support - Add missing i18n keys (search_audio, no_audio_files, etc.) to all 14 locales - Optimize Dockerfile: shared base stage, COPY --chmod, consolidated RUN, HEALTHCHECK - Improve README: docs links, updated stats (222+ tests, 14 languages), feature status
1.1 KiB
1.1 KiB
Storage Quotas
OxiCloud supports per-user storage quotas to limit disk usage.
Enabling Quotas
OXICLOUD_ENABLE_USER_STORAGE_QUOTAS=true
How It Works
- Each user has a
storage_quotafield (in bytes,0= unlimited) - On every file upload, the current usage is checked against the quota
- If the upload would exceed the quota, it's rejected with a
413 Payload Too Largeerror - Admins can view and set quotas via the admin panel or API
API
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/admin/users/{id}/quota |
Get user's quota and current usage |
| PUT | /api/admin/users/{id}/quota |
Set user's quota |
Admin Panel
The admin panel (/admin.html) shows each user's current usage vs. quota with a visual progress bar.
Deduplication Interaction
Storage usage is calculated based on logical file size (what the user uploaded), not physical blob size. This means:
- If two users upload the same 100 MB file, each user's quota is charged 100 MB
- But on disk, only one 100 MB blob exists
This ensures fair quota accounting while maintaining dedup benefits.