[GH-ISSUE #106] [Bug]: White Labeling image upload is broken (?) #133

Closed
opened 2026-03-13 17:18:26 +03:00 by kerem · 1 comment
Owner

Originally created by @nothing-fr on GitHub (Mar 10, 2026).
Original GitHub issue: https://github.com/adminsyspro/proxcenter-ui/issues/106

Bug Description

A picture is worth a thousand words :

Image

Steps to Reproduce

  • upload an image via the white label/branding page

Expected Behavior

  • that the image appears

Actual Behavior

  • it does not appear

ProxCenter Version

7eb7a1b

Proxmox VE Version

9.1.6

Browser

Version 145.0.7632.116 (Build officiel) (64 bits)

Logs / Screenshots

No response

Originally created by @nothing-fr on GitHub (Mar 10, 2026). Original GitHub issue: https://github.com/adminsyspro/proxcenter-ui/issues/106 ### Bug Description A picture is worth a thousand words : <img width="1756" height="487" alt="Image" src="https://github.com/user-attachments/assets/26c38059-4645-410a-a197-1e204341f55d" /> ### Steps to Reproduce - upload an image via the white label/branding page ### Expected Behavior - that the image appears ### Actual Behavior - it does not appear ### ProxCenter Version 7eb7a1b ### Proxmox VE Version 9.1.6 ### Browser Version 145.0.7632.116 (Build officiel) (64 bits) ### Logs / Screenshots _No response_
kerem 2026-03-13 17:18:26 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@adminsyspro commented on GitHub (Mar 10, 2026):

Fixed in ce34cb0.

The issue was that uploaded images were saved to public/uploads/branding/ and served as static files. Next.js doesn't serve files added to public/ at runtime in production (the static manifest is built at build time), so the images were never accessible.

Fix: Uploads now go to data/uploads/branding/ and are served through a dynamic API route (/api/v1/settings/branding/uploads/[filename]). Existing URLs stored in the database are automatically migrated on read, so no re-upload is needed.

This will be available in the next build. Thanks for the report!

<!-- gh-comment-id:4032859757 --> @adminsyspro commented on GitHub (Mar 10, 2026): Fixed in ce34cb0. The issue was that uploaded images were saved to `public/uploads/branding/` and served as static files. Next.js doesn't serve files added to `public/` at runtime in production (the static manifest is built at build time), so the images were never accessible. **Fix:** Uploads now go to `data/uploads/branding/` and are served through a dynamic API route (`/api/v1/settings/branding/uploads/[filename]`). Existing URLs stored in the database are automatically migrated on read, so no re-upload is needed. This will be available in the next build. Thanks for the report!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/proxcenter-ui#133
No description provided.