>
+
+
+ start : Verdaccio start
+ Yes: Loading custom plugin
+ No: Custom plugin not found
+ Yes_loads: Plugin loads successfully
+ No_loads: Plugin fails on load
+ load_default: Load default theme (@verdaccio/theme-ui)
+ Crash: Verdaccio stops
+
+ [*] --> start
+ start --> if_loads
+ if_loads --> No: false
+ if_loads --> Yes : true
+ Yes --> if_load_fails
+ No --> load_default
+
+ if_load_fails --> No_loads: false
+ if_load_fails --> Yes_loads : true
+ No_loads --> Crash
+```
+
+### How the assets of the theme loads? {#loads}
+
+:::caution
+
+By default the application loads on `http://localhost:4873`, but in cases where a resverse proxy with custom domain are involved the assets are loaded based on the property `__VERDACCIO_BASENAME_UI_OPTIONS.base` and `__VERDACCIO_BASENAME_UI_OPTIONS.basename`, thus only one domain configuration can be used.
+
+:::caution
+
+The theme loads only in the client side, the application renders HTML with `'
+ metaScripts:
+ - ''
+ - ''
+ - ''
+ scriptsbodyBefore:
+ - 'html before webpack scripts
'
+ html_cache: true
+ showInfo: true
+ showSettings: true
+ # In combination with darkMode you can force specific theme
+ showThemeSwitch: true
+ showFooter: true
+ showSearch: true
+ showDownloadTarball: true
+ showRaw: true
+```
+
+All access restrictions defined to [protect your packages](protect-your-dependencies.md) will also apply to the Web Interface.
+
+> The `primary_color` and `scope` must be wrapped by quotes: eg: ('#000000' or "#000000")
+
+The `primary_color` **must be a valid hex representation**.
+
+### Internationalization {#internationalization}
+
+_Since v4.5.0_, there are translations available.
+
+```yaml
+i18n:
+ web: en-US
+```
+
+> ⚠️ Only the enabled languages on this [file](https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/enabledLanguages.ts) are available, you can contribute by adding new more languages. The default
+> one is en-US
+
+### Configuration {#configuration}
+
+| Property | Type | Required | Example | Support | Description |
+| ------------------- | ----------------- | -------- | ------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------- |
+| enable | boolean | No | true/false | all | allow to display the web interface |
+| title | string | No | Verdaccio | all | HTML head title description (if is not define set "Verdaccio" by default). |
+| gravatar | boolean | No | true | `>v4` | Gravatars will be generated under the hood if this property is enabled |
+| sort_packages | [asc,desc] | No | asc | `>v4` | By default private packages are sorted by ascending |
+| logo | string | No | `/local/path/to/my/logo.png` `http://my.logo.domain/logo.png` | all | a URI where logo is located (header logo) |
+| primary_color | string | No | "#4b5e40" | `>4` | The primary color to use throughout the UI (header, etc) |
+| scope | string | No | @myscope | `>v3.x` | If you're using this registry for a specific module scope, specify that scope to set it in the webui instructions header |
+| darkMode | boolean | No | false | `>=v4.6.0` | This mode is an special theme for those want to live in the dark side |
+| favicon | string | No | false | `>=v5.0.1` | Display a custom favicon, can be local resource or valid url |
+| rateLimit | object | No | use `userRateLimit` configuration | `>=v5.4.0` | Increase or decrease rate limit, by default is 5k request every 2 minutes, only limit web api endpoints, the CSS, JS, etcc are ingnored |
+| pkgManagers | npm, pnpm or yarn | No | npm | `>=v5.5.0` | Allow customise which package managers on the side bar and registry information dialog are visible |
+| login | boolean | No | true or false | `>=v5.5.0` | Allow disable login on the UI (also include web endpoints). |
+| scriptsBodyAfter | string[] | No | any list of strings | `>=5.0.0` | inject scripts after the tag |
+| metaScripts | string[] | No | any list of strings | `>=5.0.0` | inject scripts inside