Asset Management Center
The Asset Management Center (AMC) is the single place to upload, preview, share, and manage every kind of asset that appears across your QuickBox Pro dashboard. It is organized into categories — Local Assets (your upload library and personal storage), Brand Assets (the instance branding slots), Application Logos (the icon shown for each application), Avatars (profile pictures), and Application Backups (config backups of your installed apps) — with a segmented switcher at the top of the page to move between them.
Navigate to Content > Asset Management Center from the sidebar. It is a parent entry that expands to the categories you have access to, each of which deep-links straight to its surface. The URL reflects the active category, so each one is directly linkable and bookmarkable.
The Asset Management Center handles dashboard assets — images, documents, logos, and avatars. It is separate from the streaming Media Portal in the Streaming Dashboard, which browses your Plex, Emby, and Jellyfin libraries. Different feature, different place.
Who can access it
The categories you see depend on your account level and permissions — access is governed by who you are, not by which tool you use:
| Account | Categories shown |
|---|---|
Administrator-level | Local Assets, Brand Assets, Application Logos, Avatars, and Application Backups (all users) |
User with `media.library.use` | Local Assets (their own personal storage), Avatars (their own avatar history), and Application Backups (their own apps) |
No media permission | The page is not accessible |
If you have access to only one category, the page opens straight to it with no switcher. Within each category, individual actions are governed by the relevant permission described in that section.
The categories
| Category | What it shows | Actions |
|---|---|---|
Local Assets | Files you upload — images, SVG, PDF, video, audio, CSV, text, and office documents | Upload, preview, edit, share, promote to brand, delete |
Brand Assets | The instance branding slots (logos, favicon, email logos, defaults) | Upload, crop, and reset each slot (administrators) |
Application Logos | The icon for every installed application | Replace an app's logo or reset to default (administrators) |
Avatars | Your own avatar history, or every user's avatar for administrators | Upload, set active, delete your own — or reset a user's avatar (administrators) |
Application Backups | Config backups of your installed applications | Create a backup, list and download existing backups, delete (by permission) |
Key features
Asset Uploads
Drag-and-drop uploads with inline previews — file types are verified from the file contents, not the extension
Personal Storage
Your own files live in your home directory, reachable over SFTP/FTP, and count against your disk quota
Multi-Format Viewer
Inline previews for images, video, audio, PDF, CSV tables, and text or Markdown; office documents download
Share Links & Direct Shares
Share via a public link or send an asset straight to another user on the same server
Brand Assets
Upload, crop, and set instance branding — logos, favicon, email logos, and defaults
Avatar History
Upload a new avatar without losing your old ones — set any previous one active, or delete your own
Local Assets
Local Assets is your upload library. It is the default category when you open the Asset Management Center.
Uploading assets
Click the upload button or drag files onto the upload zone. A broad range of file types is accepted, and each previews differently:
| Type | Formats | Preview behavior |
|---|---|---|
Raster images | PNG, JPEG, GIF, WebP | Full-screen viewer with zoom and pan |
Vector images | SVG | Displayed inline in the dashboard viewer |
Documents | PDF | Inline document preview with a download fallback |
Video | MP4, MOV, WebM, MKV, AVI, MPEG, M4V | Plays inline in the themed player |
Audio | MP3, FLAC, WAV, AAC, OGG, M4A, Opus | Plays inline in the themed player |
Spreadsheets | CSV | Rendered as a table preview |
Text | TXT, MD, LOG | Inline text view; Markdown renders formatted |
Office documents | DOC, DOCX, XLSX, PPTX | Download to view — no inline preview |
File types are detected from the actual file contents — renaming a file’s extension does not change how the server treats it.
Browsing and managing assets
Assets display in a grid or list view with search and type filters. Each item shows a preview thumbnail (for images), file name, file size, and upload date. Your view choice (grid or list) is remembered. From the browser you can:
- View — Click an asset (or press Enter/Space when it is focused) to open the full-screen viewer
- Edit — Update the asset’s name and alt text
- Share — Create a public share link or send the asset to another user
- Set as brand asset — Promote an image into a branding slot (administrators with branding permission)
- Delete — Remove the asset after confirmation
When you delete an asset, any public share links pointing to it stop working immediately. The delete confirmation reminds you of this — double-check before removing files you have shared.
Personal storage
When you upload to Local Assets as a managed user (someone with the media.library.use permission who is not an administrator), your files are stored in your own home directory on the server — not in a shared dashboard area.
Personal uploads land in ~/.QuickBox/storage/ in your home directory. Because they live in your home, they are reachable over SFTP and FTP with your normal server credentials, and they count against your disk quota just like any other file you own.
This has a few practical consequences worth knowing:
- A storage usage bar at the top of your library shows how much of your disk quota you are using. It turns red as you approach the limit
- SFTP and the dashboard stay in sync — drop a supported file into your
~/.QuickBox/storage/folder over SFTP and it appears in the Asset Management Center the next time you open it; delete one over SFTP and it disappears from the library - There is no separate media quota for personal storage — it is your ordinary disk quota. If you are out of disk space, the upload is rejected with a clear message
Administrators uploading from the Local Assets category instead store files in the central dashboard area by default. Administrators see an extra System vs Personal chooser at upload time to pick where a file goes.
The full-screen viewer
Clicking an asset opens it in a full-screen viewer that overlays the dashboard. The viewer navigates through the assets currently shown in the browser, in the same order.
Zoom and pan (images)
- Scroll wheel — Zoom toward the cursor position
- Pinch — Zoom on touch devices
- Double-click / double-tap — Toggle between fitted and 2x zoom
- Drag — Pan around the image while zoomed
- Zoom buttons — On-screen controls for zooming in, out, and resetting
Zoom ranges from fit-to-screen up to 4x. Zoom resets automatically when you move to another asset.
Gallery navigation
- Arrow keys or the on-screen chevrons move between assets
- A counter in the header shows your position (for example, “3 of 12”)
- On touch devices, swipe left or right to change assets while at the fitted zoom level
- Esc resets the zoom if you are zoomed in; pressing it again closes the viewer
Non-image files
- PDFs render in an inline preview pane with a download fallback if your browser cannot display them
- Video plays inline in a themed player with play/pause, a scrubber, volume, playback rate, and fullscreen. A short “Preparing this video…” state may appear while the file is made ready to stream
- Audio plays inline in the same themed player with an art plate
- CSV files render as a table (large files are truncated with a note)
- Text, Markdown, and log files render inline — Markdown is formatted, everything else shows as plain monospaced text
- Office documents (DOC, DOCX, XLSX, PPTX) cannot preview inline and show a download card
A Download button is always available in the viewer header regardless of file type.
Per-asset access stats
Every asset card has a small bar-chart icon that opens an access-stats popover for that asset. It is hidden while you are multi-selecting assets, and you only see stats for assets you own (administrators can see any asset’s stats).
The popover shows:
- Views, Downloads, and Viewers (unique viewers) as three counters
- Last viewed as a relative time, with the exact timestamp on hover
- A 14-day views sparkline so you can see the recent trend at a glance
- A short Recent viewers list
An asset that has never been viewed shows an empty state instead of zeros.
Access stats never store a visitor’s raw IP address — viewers are tracked with an anonymized identifier. A view is counted once per play (repeated seeks within the same playback do not inflate the count), and views from cached embeds are a lower bound, since a cached file can be served without ever reaching the server.
Sharing
Each asset can be shared two ways from the Share action — a public link, or a direct share to another user on the same server. A toggle at the top of the share dialog switches between the two modes.
Public share links
A public share link gives anyone access to a file through a URL — no dashboard account required. Visitors see a branded viewer page: images display inline, PDFs render in a sandboxed frame, and video and audio play in a full themed player — play/pause, a scrubber, volume and mute, playback rate, and fullscreen for video (audio shows a “now playing” art plate). A download button is always available, and anything that cannot play falls back to a download card.
- Pick an expiry — Presets for 1 day, 7 days (the default), or 30 days; Custom for an exact number of hours or days; or Never for a permanent link
- Optional advanced settings — Set a maximum number of accesses (the link stops working once the cap is reached) and a label to identify the link later
- Create — The dialog shows the full link with a Copy button
Permanent links are highlighted in the dialog as a deliberate choice — they keep working until you revoke them.
The share page is whitelabel-branded
The public viewer page carries your site’s branding, not QuickBox branding — your configured site name and logo in the header, and it follows your dashboard theme. Visitors see only the shared file and your branding, nothing about your dashboard or other assets.
Sharing directly to a user
Switch the share dialog to Specific user mode, search for a user on your server by username or email, and share the asset to them. They receive an in-app notification with a link to the asset. A direct share has the same expiry options as a public link but no access cap — a personal share should not exhaust itself.
Emailing a share link
After creating a public link, you can email it directly to a recipient from the same dialog. Email delivery requires:
- The share link email toggle to be enabled (it is on by default — see Share settings below)
- A Web Root configured in General Settings, so the emailed link points at your server’s public address
The recipient receives a branded email with the link and its expiration details.
Link states
Every link for an asset appears in the share dialog’s link list with a status chip:
| State | Meaning |
|---|---|
Active | The link works. Copy and revoke actions are available |
Expired | The expiration time passed. The link no longer works |
Revoked | You revoked the link manually. It can never be reactivated |
Exhausted | The link reached its maximum access count |
Dead links remain visible in the list (dimmed) so you have a record of what was shared, including each link’s access count.
Revoking a link
Click Revoke on an active link and confirm. Revocation takes effect immediately — anyone holding the URL gets a generic “no longer available” page from that moment on.
What visitors see — and what they don’t
- The public page shows only the shared file and your server’s branding — nothing about your dashboard or other assets
- Viewing the share page does not count against an access limit; only downloads count
- Expired, revoked, and exhausted links all show the same generic “no longer available” page — visitors are never told why a link stopped working
- Unknown or mistyped links get a plain not-found page, and repeated guessing attempts are rate limited
- Shared SVG files download instead of displaying in the browser — SVG files can contain embedded scripts, so serving them as downloads keeps anything inside them from running
Share settings
The gear icon in the Local Assets header opens the share settings, where you can toggle email delivery for share links on or off server-wide. The toggle is on by default; turning it off disables the email option in every share dialog without affecting existing links.
Brand Assets
The Brand Assets category manages the instance branding slots and shows whether each one uses a custom or default image:
- Collapsed Logo and Full Logo — the sidebar and login page logos
- Favicon — the browser tab icon
- Default Avatar and Default Banner — fallback profile images
- Email Logo (Full) and Email Logo (Icon) — logos used in outgoing email
Uploading a brand asset
Each slot has a drag-and-drop uploader with a built-in cropper — drop an image, crop it to the slot’s shape, and it applies instance-wide immediately. There is no longer any need to type a file path. You can also promote an image you have already uploaded: open Local Assets, click the crown icon (“Set as brand asset”) on any image, then pick the slot.
The two Email Logo slots have no bundled default, so an empty one is labeled “Not set” rather than “Default.”
Brand asset changes require the admin.branding.update permission (or the broader admin.settings.update). Administrator-level accounts always have access. The Brand Assets category itself is only shown to accounts that hold one of these permissions. Note that admin.branding.update is not individually selectable in the role permission matrix today — a non-admin can only receive it as part of a full-access custom role — so in practice branding is managed by Administrator-level accounts.
Brand assets can also be uploaded from the Branding section of General Settings and the Email Settings → Advanced panel — these use the same branding slots, so changes are consistent wherever you make them.
Application Logos
The Application Logos category is a searchable gallery of every application’s logo — the icon shown for that app throughout the dashboard. Each tile displays the app’s current logo, its name, and a badge marking whether the logo is custom or default.
By default, an application uses the bundled logo that ships with QuickBox Pro. A custom badge means an administrator has set an override for that app.
Replacing an application logo
Click the Replace logo action on an app tile to open the replace dialog, where you can drag and drop an image and crop it to set the app’s logo, or Reset to default to remove an existing override and fall back to the bundled logo.
Setting a logo here writes the application’s brand-icon override — the same override used by the App Templates editor. The gallery updates to show the new logo with a custom badge.
Replacing or resetting an application logo requires the admin.settings.update permission. Administrator-level accounts have it by default. Accounts without it can browse the gallery but do not see the replace action.
Avatars
What the Avatars category shows depends on your account.
Your avatar history (everyone)
A managed user sees their own avatar collection — a history of every avatar they have uploaded. Uploading a new avatar does not discard the old one: the previous picture is kept, and you can switch back to it at any time.
- Upload — Drag and drop or pick an image, crop it, and it becomes your active avatar
- Set active — Make any earlier avatar in your collection the active one again
- Delete — Remove an avatar you no longer want from your own collection
The currently active avatar is marked with a badge and a highlighted ring.
Avatar moderation (administrators)
Administrators instead see an admin gallery of every user’s avatar, used for moderation. Each tile shows the user’s avatar, their username, and a custom-vs-default badge. The gallery supports search and pages through the full user list.
For moderation, an administrator can reset a user’s avatar to the default. Click the reset action on a user’s tile and confirm — the avatar is replaced with the default image and the uploaded file is removed.
The administrator avatar action is reset-to-default only. Administrators cannot upload a replacement picture on a user’s behalf — users set their own avatars from their own collection. The reset exists so an administrator can remove an inappropriate avatar. Resetting a user who already has the default avatar does nothing.
Resetting a user’s avatar requires the admin.users.update permission — the same permission family that governs User Admin. Administrator-level accounts have it by default.
Application Backups
The Application Backups category lets you back up the configuration of your installed applications from the same hub — no terminal needed. It is shown to administrators and to non-admin users with the media.library.use permission; you only see backups for applications you own (administrators see standard users’ backups as well).
How backups work
The backup engine is the QuickBox Pro CLI — the dashboard hands the request to it and then lists the real backup files it produced. Creating a backup runs as a background job: you start it, and the new file appears in the list when it finishes, so a large backup never times out in the browser.
You can create three kinds of backup:
| Backup type | What it captures |
|---|---|
Config | The application's configuration file(s) — the default backup |
Full | The application data plus its configuration |
Nginx | The application's nginx site configuration |
Managing backups
Each backup in the list shows its real on-disk filename and the time it was created. From the list you can download a backup, and — depending on your permissions — delete one. Backup files live under your home directory, in ~/.QuickBox/software/<app>/backup/.
The Application Backups tab is where you create, list, download, and delete backups. Restoring a backup is done from App Management (or with the QuickBox Pro CLI). Both surfaces read the same files under ~/.QuickBox/software/<app>/backup/, so a backup you create here can be restored from App Management — they are the same backups.
Storage quotas
There are two distinct storage limits, depending on where a file lives:
- Personal storage (a managed user’s uploads in
~/.QuickBox/storage/) counts against the user’s ordinary disk quota on the server’s filesystem — the same quota that governs all of their files - Central storage (administrator uploads to the shared dashboard area) is governed by a per-user media library quota with its own inheritance chain
The media library quota resolves in this order:
- Per-user override — An explicit quota set for that user wins over everything else
- Group default — The highest quota among the user’s groups that define one
- Instance default — The server-wide fallback (5 GB unless changed)
Media library quotas are managed from two places:
- Per-user — In User Admin, expand a user row to see their effective quota, where it comes from (override, group, or default), and current usage
- Per-group — In the group editor, set an optional default media quota that applies to all members without an explicit override
Media permissions
Three permissions control which accounts can use media features. Grant them per group (all members inherit) or override them per user:
| Permission | What it allows |
|---|---|
media.library.use | Open the Asset Management Center and manage their own personal storage and avatar history |
media.share.create | Create public share links for media assets |
media.share.email | Email media share links to recipients |
A user’s effective permission resolves in this order:
- Administrator accounts are always granted every media permission
- A per-user override is final — an explicit Deny beats any group grant, and an explicit Allow beats the default
- Any group grant — if any of the user’s groups grants the permission, the user has it
- Default — denied
Per-user overrides are set in User Admin (expand a user row), where each permission shows its current state and source — for example, “via group Media Team” or “override”. Group grants are set in the group editor.
Where files live
Files are stored in different places depending on who uploaded them and which category they belong to:
Both locations survive dashboard updates. Personal uploads stay in your home directory; central uploads live in the persistent dashboard data directory.
Best practices
Do
- Use expiring share links by default — the 7-day preset covers most sharing needs, and an expired link is one less thing to remember to clean up
- Add a label when creating share links so you can tell them apart later — 'sent to designer' beats an anonymous row in the link list
- Set an access cap on links to sensitive files — a single-use link stops working after the first download
- Share directly to a user instead of a public link when the recipient already has an account — they get an in-app notification and no public URL exists
- Keep an eye on your personal storage bar — personal uploads count against your disk quota, not a separate media allowance
Don't
- Don't create permanent links casually — anything shared with 'Never' expiry keeps working until you remember to revoke it
- Don't delete an asset without checking its share list first — deletion immediately breaks every link to it
- Don't grant
media.share.createto groups whose members shouldn't publish files publicly — a share link works for anyone who has the URL
FAQ
Related pages
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.