> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreflux.org/llms.txt
> Use this file to discover all available pages before exploring further.

# System Configuration

> Edit broker settings, connection parameters, and configuration options in the Coreflux HUB

<Frame caption="Opening System Configuration from the Coreflux HUB System menu">
  <img src="https://mintcdn.com/coreflux/W9CJ-kgVY3a3sCeL/images/open-system-configuration.gif?s=f33ad102a91fed4e3c63a666f23ee748" alt="Navigating to System Configuration in the Coreflux HUB by selecting System in the top navigation and clicking System Config" width="800" height="500" data-path="images/open-system-configuration.gif" />
</Frame>

## Why Use System Configuration?

You need to change broker settings—ports, TLS, connection limits, or other parameters—without editing configuration files. The System Configuration in the Coreflux HUB lets you view and modify broker settings from the browser.

## When to Use It

* **Adjusting ports** — Change MQTT, TLS, or WebSocket ports
* **TLS configuration** — Enable or configure TLS for secure connections
* **Binding settings** — Control which IP addresses the broker listens on
* **Other broker options** — Any configurable broker parameter exposed in the UI

<Warning>
  Changes made here are sent to `$SYS/Coreflux/Config/New`. The broker processes these changes, and some may require a manual restart or sysadmin intervention to apply. The displayed configuration reflects `$SYS/Coreflux/Config`.
</Warning>

***

## Accessing System Configuration

In the HUB top navigation, select **System**, then **System Configuration**. The configuration panel shows available settings grouped by category.

## Configuration Panel

The **System Config** panel has three tabs — **System**, **ENV & Secrets**, and **License**. The **System** tab displays broker settings as editable form fields, organized into groups:

<Frame caption="System Config panel — System tab with General, Network, and Binding groups">
  <img src="https://mintcdn.com/coreflux/NyitfZKdXrngxrt5/images/system-config-form.png?fit=max&auto=format&n=NyitfZKdXrngxrt5&q=85&s=b7492afa18d9b2466248bd831353ba09" alt="Coreflux HUB System Config panel with System, ENV & Secrets, and License tabs; the System tab selected showing a General group with System Name Coreflux DataHub and import/export icons in the top-right, a Network group with MQTT Port 1883, TLS Port 8884, WebSocket Port 5000, and WebSocket TLS Port 443, and a Binding group with MQTT Bind IP, MQTT TLS Bind IP, WebSocket Bind IP, and WebSocket TLS Bind IP all set to 0.0.0.0" width="1024" height="639" data-path="images/system-config-form.png" />
</Frame>

| Group       | Settings                                                                 |
| ----------- | ------------------------------------------------------------------------ |
| **General** | System Name                                                              |
| **Network** | MQTT Port, TLS Port, WebSocket Port, WebSocket TLS Port                  |
| **Binding** | MQTT Bind IP, MQTT TLS Bind IP, WebSocket Bind IP, WebSocket TLS Bind IP |

Edit values as needed and click the save button to apply changes. Use the import and export icons in the top-right of the General group to upload or download the configuration.

***

## ENV Variables & Secrets

The **ENV & Secrets** tab is where you keep reusable values out of your Actions and Routes. Instead of typing the same database address or API key in every place that needs it, you save it once here and reference it by name. When the value changes, you update it in one spot.

<Tip>
  **Like a notebook and a vault.** ENV Variables are the notebook -- quick to read and easy to update for things like a server address. Secrets are the vault -- locked away and only used by the broker, perfect for passwords and API keys.
</Tip>

<Note>
  For advanced topics like encryption keys, Docker and Kubernetes deployment, CLI commands, and the full LoT (Language of Things) syntax, see [Environment Variables & Secrets](/mqtt-broker/secrets-and-env).
</Note>

### ENV Variables

ENV Variables hold plain text values that anyone with access to the HUB can read. Use them for things that change between environments but aren't sensitive -- a database hostname, a port number, an API base URL, or a feature flag.

<Frame caption="ENV Variables list with hover actions on the right (copy value, edit, delete)">
  <img src="https://mintcdn.com/coreflux/W9CJ-kgVY3a3sCeL/images/hub-system-config-env-list.png?fit=max&auto=format&n=W9CJ-kgVY3a3sCeL&q=85&s=5b74d7fe45feeafc52c3b3ab6e44f605" alt="ENV & Secrets tab in the Coreflux HUB System Config showing the ENV Variables sub-tab with one entry NEW_VARIABLE = TEST and three hover icons in the row's right side for copy value, edit, and delete" width="1024" height="639" data-path="images/hub-system-config-env-list.png" />
</Frame>

#### Adding a Variable

<Steps>
  <Step title="Open the form">
    Click **+ New variable** in the top-right corner of the ENV Variables list.
  </Step>

  <Step title="Fill in the name and value">
    Give the variable a clear name like `DB_HOST` and enter its value, for example `postgres.example.com`.

    <Frame caption="New Environment Variable dialog with NAME and VALUE fields">
      <img src="https://mintcdn.com/coreflux/W9CJ-kgVY3a3sCeL/images/hub-system-config-env-new.png?fit=max&auto=format&n=W9CJ-kgVY3a3sCeL&q=85&s=f387d3857d8092c9615020b74e7e2640" alt="New Environment Variable modal in the Coreflux HUB with the NAME field set to DB_HOST and the VALUE field set to postgres.example.com, plus Cancel and Save buttons" width="1024" height="639" data-path="images/hub-system-config-env-new.png" />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Save**. A confirmation toast like *"ENV NEW\_VARIABLE saved"* appears in the top-right and the variable shows up in the list.
  </Step>
</Steps>

#### Managing Existing Variables

Hover over any row in the list to reveal three quick actions on the right side:

| Action         | What it does                                                                     |
| -------------- | -------------------------------------------------------------------------------- |
| **Copy value** | Copies the current value to your clipboard so you can paste it elsewhere.        |
| **Edit**       | Reopens the form so you can change the value. The name stays the same.           |
| **Delete**     | Permanently removes the variable. Anything that uses it stops finding the value. |

<Tip>
  The hint at the top of the list -- *In LoT: GET ENV "NAME" -- Drag onto a Storage card field* -- shows you how to use the variable later when you build Actions or Routes.
</Tip>

### Secrets

Secrets hold sensitive values that should never be shown again after you save them. The HUB encrypts them at rest, so even an administrator looking at the list only sees dots where the value should be. Use Secrets for passwords, API keys, tokens, and any other credentials.

<Frame caption="Secrets list with hover actions on the right (set new value, delete) -- values are masked as dots">
  <img src="https://mintcdn.com/coreflux/W9CJ-kgVY3a3sCeL/images/hub-system-config-secrets-list.png?fit=max&auto=format&n=W9CJ-kgVY3a3sCeL&q=85&s=01e801317392cd038945ccc3bfe28074" alt="ENV & Secrets tab in the Coreflux HUB System Config showing the Secrets sub-tab with two entries named agent and TEST, both with values shown as dots and hover icons on the right side for editing and deleting the secret" width="1024" height="642" data-path="images/hub-system-config-secrets-list.png" />
</Frame>

#### Adding a Secret

<Steps>
  <Step title="Open the form">
    Click **+ New secret** in the top-right corner of the Secrets list.
  </Step>

  <Step title="Fill in the name and value">
    Give the secret a clear name like `API_KEY` and paste the value into the hidden field. The form notes that the value is *AES-256-GCM encrypted* and *never readable again after saving*.

    <Frame caption="New Secret dialog with NAME and a hidden VALUE field, plus the encryption notice">
      <img src="https://mintcdn.com/coreflux/W9CJ-kgVY3a3sCeL/images/hub-system-config-secrets-new.png?fit=max&auto=format&n=W9CJ-kgVY3a3sCeL&q=85&s=81c046cd4664b9c79fb6df89f622be33" alt="New Secret modal in the Coreflux HUB with the NAME field set to API_KEY, a masked VALUE field labeled VALUE -- ENCRYPTED AT REST, an info note explaining AES-256-GCM encryption and that the value is never readable again after saving, plus Cancel and Save buttons" width="1024" height="639" data-path="images/hub-system-config-secrets-new.png" />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Save**. A confirmation toast like *"Secret API\_KEY saved"* appears and the secret shows up in the list with its value masked.
  </Step>
</Steps>

#### Managing Existing Secrets

Hover over any row in the list to reveal two quick actions on the right side:

| Action              | What it does                                                                                              |
| ------------------- | --------------------------------------------------------------------------------------------------------- |
| **Set a new value** | Opens the form so you can overwrite the secret with a new value. There is no way to view the current one. |
| **Delete**          | Permanently removes the secret. Anything that uses it stops finding the value.                            |

<Warning>
  Once a secret is saved or deleted its original value cannot be recovered -- not even by an administrator. If you lose a credential, set a new value or remove it and create it again with the correct value.
</Warning>

***

## License

The **License** tab shows what your current Coreflux license allows, how much of each quota you are using, which premium features are unlocked, and where to upload a new license file when you receive one.

<Frame caption="License tab with Usage, Features, and Activate License sections">
  <img src="https://mintcdn.com/coreflux/W9CJ-kgVY3a3sCeL/images/hub-system-config-license.png?fit=max&auto=format&n=W9CJ-kgVY3a3sCeL&q=85&s=8eb19b174c9037c3a441c84f4d912347" alt="License tab in the Coreflux HUB System Config showing a Usage section with progress bars for Artifacts (8 of 100, broken down into Models, Actions, Scripts, Panels, and Rules) and Routes (2 of 5), a Features section listing Advanced Routes, RBAC / Topic ACL, Advanced LoT Functions, and Advanced Route Tiers as enabled and Cluster as disabled, and an Activate License section with a drop area to select a .license file and an Activate button" width="1024" height="639" data-path="images/hub-system-config-license.png" />
</Frame>

The page is divided into three blocks:

| Block                | What you see                                                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Usage**            | Progress bars for **Artifacts** (Models, Actions, Scripts, Panels, Rules) and **Routes** with the current count vs the license limit. |
| **Features**         | A list of premium features with a check icon next to the ones your license unlocks and a cross next to the ones it does not.          |
| **Activate License** | A drop area where you upload a `.license` file you received from your Coreflux operator.                                              |

#### Activating a New License

<Steps>
  <Step title="Get the license file">
    Request a `.license` file from your Coreflux contact. Save it somewhere you can find it on your computer.
  </Step>

  <Step title="Select the file">
    In the **Activate License** section, click the drop area labeled *Click to select license file* and pick the `.license` file.
  </Step>

  <Step title="Activate">
    Click **Activate**. The Usage and Features sections refresh to reflect the new license.
  </Step>
</Steps>

<Warning>
  If a feature you need shows as disabled after activation, contact your Coreflux operator -- the license file may not include it, or you may need a different tier.
</Warning>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="User Management" icon="users" href="/coreflux-hub/system/user-management">
    Create and manage broker users.
  </Card>

  <Card title="MQTT Broker Configuration" icon="cog" href="/mqtt-broker/configuration">
    Learn configuration options and file-based setup.
  </Card>
</CardGroup>
