Branding assets overview
IMP supports white-label branding through static files and an environment variable. There are four image files and one environment variable:
Place image files in the
public/ directory of the project where you run the @exulu/backend package. The backend serves that directory as static files, and the frontend loads every asset from the backend URL configured in BACKEND.
Missing files 404 silently; the browser falls back to its defaults.
Favicon
Place a singlefavicon.png in your public/ directory. The frontend loads it as both the browser tab icon and the Apple touch icon (the icon added to an iOS or Android home screen when a user bookmarks the app).
Web-app manifest
IMP serves a Web App Manifest at/manifest.webmanifest from the frontend origin. Browsers use this manifest to make the app installable as a Progressive Web App (PWA) — the installed app entry on Windows, macOS, Android, and iOS reads its icon and name from this manifest.
The manifest icon points to $BACKEND/favicon.png, the same file described above. No additional file is needed.
The manifest is generated at request time so that it picks up the runtime BACKEND and APP_NAME environment variables — it is not a static file and should not be placed in public/.
APP_NAME
SetAPP_NAME on the frontend container to control the installed-app name — the label that appears under the icon when a user adds IMP to their home screen or taskbar.
When
APP_NAME is unset, the manifest uses IMP for both name and short_name.
APP_NAME appears in the web-app manifest only. It does not affect browser tab titles, which are controlled by theme settings.
For the full list of frontend environment variables, see Environment variables.