Skip to main content
The mogenius platform is available as a SaaS option on app.mogenius.com. If you prefer the self-hosted version of mogenius, you can install it with our Helm chart. This way you can run mogenius on your own clusters and even in air-gapped environments.

Prerequisites

  • A Kubernetes cluster with at least 1 CPU and 1 GB of memory available.
  • Credentials for pulling the mogenius images from the container registry (see below).
  • The traefik ingress controller.
  • A working local installation of Helm.
  • A MySQL server (optional).
Running the platform as a self-hosted version requires a subscription. Contact our sales team for more information.

Quickstart

For a quick installation of the mogenius platform with defaults where possible, follow these steps.

Create a Namespace

On the cluster where you’re installing the mogenius platform, create a new namespace mogenius-platform. All following commands target this namespace.

Create Secrets

The platform services require a few secrets containing critical credentials that aren’t created by the Helm chart. The following secrets are required for the minimum configuration. Additional secrets can be used when working with more sophisticated Helm chart configurations. The commands below create each secret directly with kubectl. They generate secure random values on the fly using openssl, so you can run them as-is and only replace the placeholders that are marked with <...>.
The encryption key MO_CORE_NEST__SSH_SYM_ENC_KEY must be identical in the mo-platform-shared and mo-platform-user-secret secrets. The commands below generate it once into a shell variable and reuse it, so run them in the same terminal session.
1. Container Registry After obtaining a subscription for the self-hosted version, you will have received credentials for the container registry where the platform images are stored. Store them as a mo-registry-credentials secret of type kubernetes.io/dockerconfigjson. Replace the placeholders with the values from your subscription.
2. Valkey (Redis-compatible) Holds the password shared by all Valkey instances. The command generates a secure random value.
3. Encryption Key Generate the symmetric encryption key once and keep it in a shell variable so it can be reused for the admin user secret in step 5.
4. MySQL Holds the application and root passwords for the MySQL database. The command generates secure random values.
Avoid single quotes (') and backslashes (\) in MySQL passwords — they break the MySQL container’s init and cause Access denied. Use alphanumeric passwords (A–Z, a–z, 0–9). The command below already generates compliant values.
5. Admin User Holds the credentials for the initial admin user and the JWT signing keys. First generate the EC key pair used for signing JWTs:
Then create the secret. Replace the admin email and password placeholders; all other values are derived automatically (the JWT keys are base64-encoded, and MO_CORE_NEST__SSH_SYM_ENC_KEY reuses the $MO_ENC_KEY from step 3).
The keys stored in this secret are: MO_USER_NEST__SYSTEM_ADMIN_EMAIL — the email address to log in with your admin user. MO_USER_NEST__SYSTEM_ADMIN_PASSWORD — the password for your admin user. MO_CORE_NEST__SSH_SYM_ENC_KEY — the same encryption key set in the mo-platform-shared secret. MO_USER_NEST__JWT_PRIVATE — the base64-encoded private key for signing JWTs. MO_USER_NEST__JWT_PUBLIC — the base64-encoded public key for verifying JWTs. MO_USER_NEST__SESSION_SECRET — a secure random secret for session handling.

Prepare your values.yaml

The Helm chart supports wide range of values that you can use to configure your installation of the mogenius platform. Skip to values for a full reference of the chart. Below is an example values.yaml for a minimal setup to install the mogenius platform in a development environment. Make sure to review the configuration and ensure that it matches your infrastructure.
values.yaml quickstart example
This chart configuration deploys the MySQL Docker image as part of the platform deployment. This setup is not recommended for running the mogenius platform in production scenarios. We recommend configuring the mysql values with connection to a high-availability MySQL for use in a production environment.

Deploy the Helm chart

Run the following command on your cluster to install the Helm chart with your values.yaml.

Access the mogenius web interface

Check the status of the installation and make sure all Pods are starting properly.
When all Pods are Running, access the mogenius platform with the hostname you specified in your Ingress (e.g. mogenius.yourdomain.com). You can log in with the credentials of your admin user.

Next steps

Now that mogenius is up and running you can prepare the platform for your team. Check out the following resources as next steps:

Support

Need help setting up the mogenius platform? Contact us via support@mogenius.com.

Values

Global Settings

Ingress

Default ingress annotations:

Feature Toggles

Platform Services

mo_platform (Frontend)

mo_platform_api (API Service)

mo_platform_user (User Service)

OpenID Configuration:

mo_platform_websocket (WebSocket Service)

mo_platform_notification (Notification Service)

mo_platform_queue (Queue Service)

mo_platform_message_dispatcher (Message Dispatcher)

Valkey (Redis-compatible Cache)

The platform uses Valkey, an open-source Redis-compatible in-memory data store, for caching and message queuing. The chart deploys multiple Valkey instances for different purposes.

mo_platform_api_valkey

mo_valkey_shared

Shared Valkey instance used for queue processing and cross-service communication.

mo_websocket_valkey

mo_user_valkey

mo_message_dispatcher_valkey

MySQL

Storage