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

# Install in your environment

> Deploy the Cysmiq self-hosted platform on Kubernetes using Replicated.

## Overview

Cysmiq self-hosted deployments use Replicated. Choose an installer option for your environment.

## Installer options

<Tabs>
  <Tab title="KOTS">
    Install on an existing Kubernetes cluster with the Replicated Admin Console. Continue with the steps below.
  </Tab>

  <Tab title="KURL">
    Replicated KURL builds a Kubernetes cluster as part of installation. See the Replicated guide for [KURL](https://docs.replicated.com/enterprise/installing-kurl-requirements).
  </Tab>
</Tabs>

## Prerequisites

* Two license files from Cysmiq: a Replicated license (`.yaml`) and a Cysmiq application license (`.lic`)
* Network access for Replicated and Cysmiq endpoints. See [network requirements](/self-hosting/network-requirements)

<Tabs>
  <Tab title="KOTS">
    - A Kubernetes cluster that meets the [self-hosting requirements](/self-hosting/requirements)
    - `kubectl` configured with cluster-admin access
    - Replicated KOTS CLI installed. Follow the [KOTS CLI getting started guide](https://docs.replicated.com/reference/kots-cli-getting-started)
    - A DNS name or load balancer for your Cysmiq app if you plan to expose it with Ingress or HTTPProxy
  </Tab>

  <Tab title="Embedded Cluster">
    * Review the Replicated Embedded Cluster requirements and prerequisites
  </Tab>

  <Tab title="KURL">
    * Review the Replicated KURL requirements and prerequisites
  </Tab>
</Tabs>

## Steps

<Steps>
  <Step title="Install Cysmiq with KOTS">
    <Tabs>
      <Tab title="KOTS">
        Run the install command provided during onboarding. It prompts you for a namespace and the Admin Console password.

        <CodeGroup>
          ```bash Install command theme={null}
          kubectl kots install cysmiq/stable
          ```

          ```text Example output theme={null}
          Enter the namespace to deploy to: <namespace>
            • Deploying Admin Console
              • Creating namespace ✓
              • Waiting for datastore to be ready ✓
          Enter a new password for the admin console (6+ characters): ••••••••
            • Waiting for Admin Console to be ready ✓

            • Press Ctrl+C to exit
            • Go to http://localhost:8800 to access the Admin Console

            • To access the Admin Console again, run kubectl kots admin-console --namespace <namespace>
          ```
        </CodeGroup>

        When the install completes, keep the terminal output. It includes the Admin Console access URL.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Open the Admin Console">
    <Tabs>
      <Tab title="Local access">
        If your workstation can reach `http://localhost:8800`, open it and log in with the password you set.

        <Frame caption="Admin Console login screen">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/self-hosting/kots-admin-login.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=04b3be589fbba0b773819530aa0560f3" alt="Cysmiq Admin Console login screen with a password field." width="1937" height="1218" data-path="images/guides/self-hosting/kots-admin-login.webp" />
        </Frame>

        If you need to reopen the console later, run:

        ```bash Reopen the Admin Console theme={null}
        kubectl kots admin-console --namespace <namespace>
        ```
      </Tab>
    </Tabs>

    <AccordionGroup>
      <Accordion title="Access from a remote VM">
        If you run `kubectl` on a remote VM and cannot access `http://localhost:8800`, expose the `kotsadm` service and access it via the node IP.

        ```bash Expose the Admin Console with NodePort theme={null}
        kubectl edit svc kotsadm --namespace <namespace>
        ```

        Change `type: ClusterIP` to `type: NodePort`, save, then run `kubectl get svc -n <namespace>` to find the assigned port.
      </Accordion>
    </AccordionGroup>
  </Step>

  <Step title="Upload the Replicated license">
    Upload the Replicated license file to continue.

    <Frame caption="Upload the Replicated license file">
      <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/self-hosting/kots-license-upload.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=424a3b9099b55a5894507a12e26be6bf" alt="Replicated license upload screen with a drag and drop area." width="1946" height="1144" data-path="images/guides/self-hosting/kots-license-upload.webp" />
    </Frame>

    <Info>If you see a "Let's get you started!" sidebar, first enter your `Application Domain Name` then scroll down and press `Continue`.</Info>
  </Step>

  <Step title="Configure Cysmiq">
    <Tabs>
      <Tab title="Ingress">
        Open the **Config** tab and set the required fields, including **Application Domain Name**. Keep defaults unless you need custom storage, database, or exposure settings.

        <Frame caption="Configuration screen for domain and exposure settings">
          <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/self-hosting/kots-config.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=3b30ba3739b1a66784f9aaffd0a108e6" alt="Configuration page showing organization name, application domain, and expose services options." width="2236" height="1474" data-path="images/guides/self-hosting/kots-config.webp" />
        </Frame>

        Select **Save config** to apply the settings. For a full list of options, see [Self-hosting configuration](/self-hosting/configuration).
      </Tab>
    </Tabs>
  </Step>

  <Step title="Run preflight checks and deploy">
    Review the preflight checks, resolve any failures, then continue.

    From the Admin Console dashboard, wait for the application status to reach **Ready**. You might see **Missing** or **Deploying** while the installation completes.

    <Frame caption="Admin Console dashboard while deployment is in progress">
      <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/self-hosting/kots-dashboard-status.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=898eef5eb3dea78a919579c6d28eaf7d" alt="Replicated Admin Console dashboard showing the Cysmiq application status." width="2240" height="1472" data-path="images/guides/self-hosting/kots-dashboard-status.webp" />
    </Frame>
  </Step>

  <Step title="Activate the Cysmiq app license">
    Navigate to the domain you configured.

    Create your first admin account, then upload the Cysmiq application license to activate the installation.

    <Frame caption="Cysmiq license activation screen">
      <img src="https://mintcdn.com/cysmiq/b1Lbo3Hes6--JS1V/images/guides/self-hosting/cysmiq-license-activate.webp?fit=max&auto=format&n=b1Lbo3Hes6--JS1V&q=85&s=41711d7139dfe52735d29bcd1daec29b" alt="Cysmiq license activation page prompting for a .lic file." width="2240" height="1474" data-path="images/guides/self-hosting/cysmiq-license-activate.webp" />
    </Frame>
  </Step>
</Steps>

## Next steps

* [Connect a VCS](/guides/connect-vcs)
* [Invite your team](/guides/invite-team)
