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

# Install Developer Portal on Kubernetes

> Installation guide for the Tyk Developer Portal on Kubernetes using Helm charts

| Edition    | Deployment Type      |
| :--------- | :------------------- |
| Enterprise | Self-Managed, Hybrid |

## Compatible Kubernetes Versions

1.33.x, 1.34.x, 1.35.x

## Prerequisites

* [Kubernetes](https://kubernetes.io/docs/setup/)
* [Helm 3+](https://helm.sh/docs/intro/install/)
* [Enterprise Edition License](/5.12/portal/overview/intro#getting-access)

<Note>
  Running on Podman, containerd, or another container runtime? See [Container Runtimes](/5.12/deployment-and-operations/container-runtimes).
</Note>

## Tyk Stack (New Helm Chart)

There are two ways to install the portal on Kubernetes:

1. **As part of Tyk Self-Managed** - Enable `global.components.devPortal` during Tyk Self-Managed deployment using the [tyk-stack chart](/5.12/product-stack/tyk-charts/tyk-stack-chart)
2. **Standalone installation** - Use the [tyk-dev-portal](https://github.com/TykTechnologies/tyk-charts/tree/main/components/tyk-dev-portal) Helm chart (described below)

This section provides a step-by-step instruction for installing the Tyk Developer Portal as standalone component using the new helm chart.

### Instructions

1. **Create the `tyk-dev-portal-conf` secret**

   Make sure the `tyk-dev-portal-conf` secret exists in your namespace.
   This secret will automatically be generated if Tyk Dashboard instance was bootstrapped with [tyk-boostrap](https://artifacthub.io/packages/helm/tyk-helm/tyk-bootstrap) component chart
   and `bootstrap.devPortal` was set to `true` in the `values.yaml`.

   If the secret does not exist, you can create it by running the following command.

   ```bash theme={null}
   kubectl create secret generic tyk-dev-portal-conf -n ${NAMESPACE} \
   --from-literal=TYK_ORG=${TYK_ORG} \
   --from-literal=TYK_AUTH=${TYK_AUTH}
   ```

   The fields `TYK_ORG` and `TYK_AUTH` are the Tyk Dashboard *Organization ID* and the Tyk Dashboard API *Access Credentials* respectively. These can be obtained under your profile in the Tyk Dashboard.

2. **Config settings**

   You must set the following values in the `values.yaml` or with `--set {field-name}={field-value}` using the helm upgrade command:

   | Field Name                                               | Description                                                                                                                                               |
   | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | `global.adminUser.email` and `global.adminUser.password` | Set portal admin username and email for bootstrapping                                                                                                     |
   | `global.secrets.devPortal`                               | Enable portal bootstrapping by providing secret name                                                                                                      |
   | `license`                                                | Tyk license key for your portal installation                                                                                                              |
   | `storage.type`                                           | Portal storage type, e.g. *fs*, *s3* and *db*                                                                                                             |
   | `image.tag`                                              | Developer Portal version. You can get the latest version image tag from [Docker Hub](https://hub.docker.com/r/tykio/portal/tags)                          |
   | `database.dialect`                                       | Portal database dialect, e.g. *mysql*, *postgres*                                                                                                         |
   | `database.connectionString`                              | Connection string to the Portal's database, e.g. for the *mysql* dialect: `admin:secr3t@tcp(tyk-portal-mysql:3306)/portal?charset=utf8mb4&parseTime=true` |

   In addition to `values.yaml`, you can also define the environment variables described in the [configuration section](/5.12/product-stack/tyk-enterprise-developer-portal/deploy/configuration) to further customize your portal deployment. These environment variables can also be listed as a name value list under the `extraEnvs` section of the helm chart.

3. **Launch the portal using the helm chart**

   Run the following command to update your infrastructure and install the developer portal:

   ```bash theme={null}
   helm install tyk-dev-portal tyk-helm/tyk-dev-portal -f values.yaml -n tyk
   ```

4. **Bootstrapping the Developer Portal**

   Follow the [bootstrapping section](/5.12/portal/install#bootstrapping-developer-portal) of the documentation to bootstrap the portal via the UI or the admin API.

### Configuration

Please refer to this [guide](/5.12/product-stack/tyk-charts/tyk-stack-chart) for an explanation of all configuration options.

> **Note**: Helm chart supports Developer Portal v1.2.0+.

## Legacy Helm Chart

<Warning>
  **Note**

  It is recommended to use new helm charts instead of legacy charts. Guide for new charts can be found [here](/5.12/portal/install/kubernetes)
</Warning>

This section provides a clear and concise, step-by-step recipe for installing the Tyk Developer Portal using [legacy helm chart](https://github.com/TykTechnologies/tyk-helm-chart/tree/master/tyk-pro).

### Instructions

1. **Create the `tyk-enterprise-portal-conf` secret**

   Make sure the `tyk-enterprise-portal-conf` secret exists in your namespace. This secret will automatically be generated during the Tyk Dashboard bootstrap if the `dash.enterprisePortalSecret` value is set to `true` in the `values.yaml`.

   If the secret does not exist, you can create it by running the following command.

   ```bash theme={null}
   kubectl create secret generic tyk-enterprise-portal-conf -n ${NAMESPACE} \
   --from-literal=TYK_ORG=${TYK_ORG} \
   --from-literal=TYK_AUTH=${TYK_AUTH}
   ```

   Where `TYK_ORG` and `TYK_AUTH` are the Tyk Dashboard Organization ID and the Tyk Dashboard API Access Credentials respectively. Which can be obtained under your profile in the Tyk Dashboard.

2. **Config settings**

   You must set the following values in the `values.yaml` or with `--set {field-name}={field-value}` with the helm upgrade command:

   | Field Name                                  | Description                                                                                                                                            |
   | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
   | `enterprisePortal.enabled`                  | Enable Portal installation                                                                                                                             |
   | `enterprisePortal.bootstrap`                | Enable Portal bootstrapping                                                                                                                            |
   | `enterprisePortal.license`                  | Tyk license key for your portal installation                                                                                                           |
   | `enterprisePortal.storage.type`             | Portal database dialect, e.g *mysql*, *postgres*                                                                                                       |
   | `enterprisePortal.storage.connectionString` | Connection string to the Portal's database, e.g for the mysql dialect: `admin:secr3t@tcp(tyk-portal-mysql:3306)/portal?charset=utf8mb4&parseTime=true` |

   In addition to values.yaml, you can also define the environment variables described in the [configuration section](/5.12/product-stack/tyk-enterprise-developer-portal/deploy/configuration) to further customize your portal deployment. These environment variables can also be listed as a name value list under the `extraEnvs` section of the helm chart.

3. **Launch the portal using the helm chart**

   Run the following command to update your infrastructure and install the developer portal:

   ```bash theme={null}
   helm upgrade tyk-pro tyk-helm/tyk-pro -f values.yaml -n tyk
   ```

   <Note>
     In case this is the first time you are launching the portal, it will be necessary to bootstrap it before you can use it. For detailed instructions, please refer to the [bootstrapping documentation](/5.12/#bootstrapping-enterprise-developer-portal).
   </Note>

> **Note**: Helm chart supports Developer Portal v1.2.0+.
