Enhance your Matomo experience with Openmost design.
The Openmost Theme converts the Matomo interface to match the openmost.io brand. It plugs into Matomo's native theming engine (5.10+) to define a complete light and dark palette, then layers component-level LESS tweaks on top.
The dark palette is the canonical Openmost identity, lifted from openmost.io. The light palette is a sibling scale designed to feel native on white surfaces while keeping the same Openmost blue accent.
Token Light Dark Brand#426CDA
#426CDA
Background base
#F5F6FB
#161830
Surface (widgets)
#FFFFFF
#1C1F41
Surface hover
#ECEFF8
#282A4B
Text primary
#1C1F41
#FFFFFF
Text secondary
#4A5169
#AEAFBB
Border
#E5E7F0
#1C1F41
Chart base
#DC3545
#DC3545
openmost.io is dark-only by design. The light variant adapts the same brand vocabulary (Openmost blue, Sora, 1rem radii) for users who prefer light mode in their analytics tool.
Typography: Sora, shipped with the plugin (variable + static weights).
Shape: 1rem corner radius on widgets and form controls, 1.5rem default padding.
OpenmostTheme/
├── OpenmostTheme.php # Registers theme variables (light + dark arrays)
├── plugin.json # Matomo metadata, requires >=5.10
├── fonts/Sora/ # Sora font files
├── stylesheets/
│ ├── theme.less # Entry point — imports everything
│ ├── _root.less # Openmost-specific tokens (radius, padding)
│ ├── _variables.less # Re-exports _root for back-compat
│ ├── _fonts.less # @font-face declarations for Sora
│ ├── layout/
│ │ └── _main.less # Scrollbar styling
│ ├── pages/
│ │ └── _login.less # Login screen tweaks
│ └── components/ # One file per overridden component
└── docs/ # This documentation
Matomo 5.10 ships a Plugin\ThemeStyles class with one property per theme color. Every property accepts either a single string or a [light, dark] array — Matomo emits the right CSS variable for each mode and switches via data-theme-mode plus prefers-color-scheme.
OpenmostTheme.php listens to the Theme.configureThemeVariables event and assigns [light, dark] arrays for every relevant property. The CSS files in stylesheets/components/ then consume those tokens with var(--theme-color-*), so the same component definition works in both modes.
Component overrides live in stylesheets/components/:
Each file is intentionally small — the goal is a minimal diff against Matomo defaults.
You don't need to fork the plugin to tweak it. Override any --theme-color-* variable in a small companion plugin or in misc/user/user.css:
:root {
--theme-color-brand: #00b4d8;
}
[data-theme-mode="dark"] {
--theme-color-background-base: #0b0d24;
}
Openmost-only tokens are also available for shape adjustments:
:root {
--o-component-border-radius: 0.5rem;
--o-component-padding: 1rem;
}
Contributions are welcome. Keep changes scoped to one component per file and prefer var(--theme-color-*) over hard-coded hex values so your edits keep working in both light and dark modes.
Open your Matomo administration panel, go to Marketplace, filter by Themes, search for Openmost Theme, and install it. Then activate it in Personal → Settings → General Settings, or in System → General Settings to make it the default for the whole instance.
Matomo 5.10 or newer. The theme uses the light/dark ThemeStyles array API introduced in 5.10. Older versions will silently render the dark palette only and may look incorrect in light mode.
Yes. The plugin defines a full light palette alongside the canonical Openmost dark palette. Use Matomo's theme switcher (Auto / Light / Dark) — Auto follows your operating system, so users can move between modes without changing settings.
The Openmost brand identity is dark-first, so the dark palette is the most polished. The light variant keeps the same brand blue and Sora typography but uses lighter surfaces designed to feel at home on white.
If you set it as the default in System → General Settings, yes — all users see it. Each user can also override the choice in their personal settings if you allow it.
Yes — every color is exposed as a Matomo --theme-color-* CSS variable. Override any of them in misc/user/user.css or in a small companion plugin. See docs/index.md for examples.
No. The theme is purely visual. It defines theme variables and adds CSS — it does not modify Matomo's HTML structure, JavaScript, or behavior. That keeps it compatible with every other Matomo plugin.
It's used in production by Openmost and on every Matomo instance the team operates, so it follows Matomo's own release cadence as closely as possible. Security and compatibility fixes are prioritized.
Yes. Openmost is a certified Matomo agency and builds custom themes and plugins for clients. Get in touch at https://openmost.io.