User Interface
Customize the Knot web interface with your organization’s branding, including custom logos and Gravatar integration.
White-Label Support
White-labeling allows you to brand knot with your organization’s identity. This is useful for:
- Internal deployments matching corporate branding
- Service providers offering knot to clients
- Organizations wanting consistent visual identity
Configuration
[server]
public_files_path = "/var/knot/public"
[server.ui]
enable_gravatar = true
logo_invert = true
logo_url = "/public-files/logo.svg"
hide_support_links = false
hide_api_tokens = false
enable_builtin_icons = true
# icons = ["/var/knot/public/extra-icons.json"]Interface options
| Key | Default | Description |
|---|---|---|
hide_support_links |
false |
Hide the support and documentation links from the web UI |
hide_api_tokens |
false |
Hide the API Tokens page and navigation entry from regular users; tokens keep working through the CLI and API |
enable_builtin_icons |
true |
Serve the built-in icon set used when picking icons for templates |
icons |
Extra icon definition files to load (repeatable list of file paths) |
Custom Logo
Setting Up a Custom Logo
-
Create public files directory:
mkdir -p /var/knot/public -
Add your logo file:
cp your-logo.svg /var/knot/public/logo.svg -
Configure knot:
[server] public_files_path = "/var/knot/public" [server.ui] logo_url = "/public-files/logo.svg" -
Restart knot server
Logo Requirements
Format: SVG recommended for scalability. PNG and JPG also supported.
Size: Optimal dimensions are 200x50 pixels or similar aspect ratio.
Colors: Use colors that work on both light and dark backgrounds, or use logo_invert.
Logo Inversion
The logo_invert option inverts logo colors for dark theme:
[server.ui]
logo_invert = trueWhen to use:
- Logo has dark colors on transparent background
- Logo needs to be visible on dark theme
- Single logo file for both themes
When not to use:
- Logo already works on both themes
- Logo has complex colors
A single logo file serves both themes: set logo_url, and enable logo_invert when the logo needs inverting for the dark theme. Separate light/dark logo files are not supported.
Gravatar Support
Gravatar displays user profile images based on email addresses.
Enable Gravatar
[server.ui]
enable_gravatar = trueUsers with Gravatar accounts will see their profile images in:
- User lists
- Space sharing dialogs
- Profile pages
- Audit logs
Disable Gravatar
[server.ui]
enable_gravatar = falseDisable for:
- Privacy requirements
- Air-gapped environments
- Organizations not using Gravatar
Static Files
The public_files_path serves static files for customization.
Configuration
[server]
public_files_path = "/var/knot/public"Files in this directory are accessible at /public-files/ URL path.
Use Cases
Custom Logos
/var/knot/public/logo.svg → /public-files/logo.svgFavicon
/var/knot/public/favicon.ico → /public-files/favicon.icoDocumentation
/var/knot/public/docs/guide.pdf → /public-files/docs/guide.pdfCustom CSS (if supported)
/var/knot/public/custom.css → /public-files/custom.cssSecurity
- Only serve public, non-sensitive files
- Don’t store configuration or credentials
- Set appropriate file permissions
- Regularly review served files
Complete Example
[server]
listen = "0.0.0.0:3000"
url = "https://dev.company.com"
public_files_path = "/opt/knot/branding"
[server.ui]
enable_gravatar = true
logo_url = "/public-files/company-logo.svg"
logo_invert = falseDirectory structure:
/opt/knot/branding/
├── company-logo.svg
├── favicon.ico
└── docs/
└── user-guide.pdf