Skip to content
RadicalMuffinMan edited this page Jul 15, 2026 · 1 revision

Themes

Moonbase includes a theme editor and lets admins host custom themes on the server so every Moonfin client can use them.

The theme editor

The editor is served at:

https://your-server-host/Moonfin/Web/theme/

It gives you a visual way to edit theme colors and tokens, preview them, and validate the result. There is also a random theme generator that builds a complete, coherent palette from a random base and accent color while keeping your theme id, name, and description. When you are happy, export the theme to a JSON file.

Uploading a custom theme

  1. Open the Moonbase admin panel on your server dashboard.
  2. Upload your exported theme JSON.
  3. The server validates it against the theme schema and stores it with metadata (display name, checksum, uploader, and upload time).

Uploaded themes are validated server-side, so a malformed theme is rejected rather than shipped to clients.

Using a custom theme

Once a theme is uploaded, clients can pick it from the Settings menu in any Moonfin client. The selection is stored per user as the customThemeId setting and syncs across your devices like any other setting. See Settings Sync.

How themes reach clients

Clients connected to the live events stream get a themesChanged event whenever a theme is uploaded or removed, so new themes appear without a restart. The relevant endpoints are listed under API Reference.

Clone this wiki locally