Tyk Enterprise Developer PortalIf you are interested in getting access contact us at support@tyk.io
Enterprise Developer Portal Components

The portal deployment comprises of three main components:
- The portal application itself
- The portal’s main database that stores metadata related to the portal, such as API products, plans, developers, applications, and more
- The asset storage, which stores CMS assets such as images, themes, and OpenAPI specification files. The assets could reside in the portal’s main database or separately in an S3 bucket or filesystem volume.
- 3rd party identity provider. To enable oAuth2.0 for your API Products, you’ll need to utilize an OpenID-compliant third-party identity provider. It’s essential to note that the Tyk Stack doesn’t include third-party identity providers, so you should refer to your Identity Provider’s documentation for instructions on configuring and deploying it. This component is optional and required only for enabling oAuth2.0
- Tyk Identity Broker. You only need this component if you want to configure Single Sign-On for the Tyk Enterprise Developer Portal. For more guidance on this topic, please consult the Single Sign-On section of the documentation
- Email server. The portal is capable of sending notifications to both admin users and developers when specific events happen within the portal. To enable this feature, you need to specify a connection configuration to an email server or service, and configure other email settings. You can choose to use a server that is installed on your premises or an SMTP-compatible SaaS product. For step-by-step instructions, please refer to the Email Settings section
Note: SQLite supportTyk Developer Portal no longer supports SQLite as of the release of version 1.14.0. To ensure a smooth experience, please migrate to PostgreSQL or another supported alternative.
Portal Installation Process
The portal installation process comprises two steps:- Install the portal application. To install the portal and launch it in the bootstrap mode, you need to configure your portal instance by specifying settings such as TLS, log level, and database connection. For further guidance on launching the portal, please refer to one of the installation options: Docker container, Docker Compose, Helm chart, or RPM package.
- Bootstrap the portal After you’ve launched the portal, it will wait for you to provide credentials for the super admin user before it starts accepting traffic. Once you’ve created the super admin user, the portal will complete its installation process by creating the necessary database structure and initialising the required assets for its operations. You can bootstrap the portal either through the UI or using the bootstrap API. Please refer to the Bootstrapping section for implementing this step.
Installation Options for Enterprise Developer Portal
The Tyk Enterprise Developer Portal supports multiple installation flavors. Check out the guides below to deploy the portal on the platform that suits you best.
Read time: 10 minsInstall with Docker

Read time: 10 minsInstall with Docker Compose

Read time: 10 minsInstall on Kubernetes

Read time: 10 minsInstall on Red Hat
Docker
This section explains how to install Tyk Enterprise Developer Portal in a container using Docker. Depending on your preferences, you can use MariaDB, MySQL or PostgreSQL for the database. In this recipe, the database and the portal container will run on the same network, with the database storing its data on a volume. The portal’s CMS assets (images, files and themes) are stored in the database, although this guide provides links to the documentation to use a persistent volume or an S3 bucket as a storage medium for CMS assets. Additionally, all settings for the Portal are configured using an env-file.NoteThis document is just an example. Customize all fields, including the username, password, root password, database name and more.Be sure to update the connection DSN in the env-file accordingly.
Using PostgreSQL
-
Create a network for the portal deployment
To start with, you need to create a Docker network for communication between the database and the portal. Execute the following command to create it:
-
Create an init script for PostgreSQL
To initialize a PostgreSQL database, you need to create an init script that will later be used to launch the PostgreSQL instance.
Copy the content below to a file named
init.sql
, which you will need in the next step. -
Create the database volume and launch the database
The next step is to launch the PostgreSQL database for the portal. To achieve this, create a data volume for the database first:
Then launch the PostgreSQL instance by executing the following command:Note
The above PostgreSQL configuration is an example. You can customize deployment of your PostgreSQL instance. Please refer to the PostgreSQL documentation for further guidance.
-
Create an environment variables file
Creating an environment variables file to specify settings for the portal is the next step.
This is optional, as you can alternatively specify all the variables using the -e option when starting your deployment.
Here is an example of a sample environment file. For a comprehensive reference of environment variables, please refer to the configuration section in the Tyk Enterprise Developer Portal documentation.
Once you have completed this step, you are ready to launch the portal application with PostgreSQL in a Docker container.
-
Pull and launch the portal container
To pull and launch the portal using Docker, use the command provided below.
Ensure that you replace
<tag>
with the specific version of the portal you intend to launch before executing the command, e.g.tykio/portal:v1.7
for the portal v1.7. You can browse all available versions on Docker Hub and in the release notes section.This command will launch the portal on localhost at port 3001. Now, you can bootstrap the portal and start managing your API products. - Bootstrap the portal Now the portal is running on port 3001, but it needs to be bootstrapped by providing credentials for the super admin user since it’s the first time you are launching it. Follow the bootstrapping section of the documentation to bootstrap the portal via the UI or the admin API.
-
Clean up
If you want to clean up your environment or start the installation process from scratch, execute the following commands to stop and remove the portal container:
Using MySQL
-
Create a network for the portal deployment
To start with, you need to create a Docker network for communication between the database and the portal. Execute the following command to create it:
-
Create the database volume and launch the database
The next step is to launch the MySQL database for the portal. To achieve this, create a data volume for the database first:
Then launch the MySQL instance by executing the following command:
NoteThe above MySQL configuration is an example. You can customize deployment of your MySQL instance.Please refer to the MySQL documentation for further guidance.
-
Create an environment variables file
Creating an environment variables file to specify settings for the portal is the next step.
This is optional, as you can alternatively specify all the variables using the -e option when starting your deployment.
Here is an example of a sample environment file. For a comprehensive reference of environment variables, please refer to the configuration section in the Tyk Enterprise Developer Portal documentation.
Once you have completed this step, you are ready to launch the portal application with MySQL in a Docker container or via Docker Compose.
-
Pull and launch the portal container
To pull and launch the portal using Docker, use the command provided below.
Ensure that you replace
<tag>
with the specific version of the portal you intend to launch before executing the command, e.g.tykio/portal:v1.7
for the portal v1.7. You can browse all available versions on Docker Hub and in the release notes section.This command will launch the portal on localhost at port 3001. Now, you can bootstrap the portal and start managing your API products. - Bootstrap the portal Now the portal is running on port 3001, but it needs to be bootstrapped by providing credentials for the super admin user since it’s the first time you are launching it. Follow the bootstrapping section of the documentation to bootstrap the portal via the UI or the admin API.
-
Clean up
If you want to clean up your environment or start the installation process from scratch, execute the following commands to stop and remove the portal container:
Docker Compose
This section provides a clear and concise, step-by-step recipe for launching the Tyk Enterprise Developer Portal in a container using Docker Compose. Depending on your preferences, you can use MariaDB, MySQL or PostgreSQL for the database. In this recipe, the database and the portal containers will run on the same network, with the database storing it’s data on a volume. The portal’s CMS assets (images, files and themes) are stored in the database, although this guide provides links to the documentation to use a persistent volume or an S3 bucket as a storage medium for CMS assets. Additionally, all settings for the Portal are configured using an env-file.NoteThis document is just an example. Customize all fields, including the username, password, root password, database name and more.
Using PostgreSQL
-
Create an init script for PostgreSQL
To initialize a PostgreSQL database, you need to create an init script that will later be used to launch the PostgreSQL instance.
Copy the content below to a file named
init.sql
, which you will need in the next step. -
Create an environment variables file for configuring the portal and the database
Creating an environment file to specify settings for the portal is the next step.
Here is an example of a sample environment file. For a comprehensive reference of environment variables, please refer to the configuration section in the Tyk Enterprise Developer Portal documentation.
Once you have completed this step, you are ready to launch the portal application with PostgreSQL via Docker Compose.
-
Create a docker-compose file
Before launching the portal using docker-compose, you will need to create a
docker-compose.yaml
file. An example of the portal’s docker-compose file is provided below, which you can use as a starting point and further customize to meet your specific requirements. Ensure that you replace<tag>
with the specific version of the portal you intend to launch before executing the command, e.g.tykio/portal:v1.7
for the portal v1.7. You can browse all available versions on Docker Hub and in the release notes section. -
Pull and launch the portal container using docker-compose
To launch the portal using docker-compose, execute the command provided below.
This command will launch the portal on localhost at port 3001. Now, you can bootstrap the portal and start managing your API products.
- Bootstrap the portal Now the portal is running on port 3001, but it needs to be bootstrapped by providing credentials for the super admin user since it’s the first time you are launching it. Follow the bootstrapping section of the documentation to bootstrap the portal via the UI or the admin API.
-
Clean up
If you want to clean up your environment or start the installation process from scratch, execute the following commands to stop and remove the portal container:
Using MySQL
-
Create an environment variables file for configuring the portal and the database
The first step is to create an environment file to specify settings for the portal.
Here is an example of a sample environment file. For a comprehensive reference of environment variables, please refer the configuration section in the Tyk Enterprise Developer Portal documentation.
Once you have completed this step, you are ready to launch the portal application with MySQL via Docker Compose.
-
Create a docker-compose file
Before launching the portal using docker-compose, you will need to create a
docker-compose.yaml
file. An example of the portal’s docker-compose file is provided below, which you can use as a starting point and further customize to meet your specific requirements. Ensure that you replace<tag>
with the specific version of the portal you intend to launch before executing the command, e.g.tykio/portal:v1.7
for the portal v1.7. You can browse all available versions on Docker Hub and in the release notes section. -
Pull and launch the portal container using docker-compose
To launch the portal using docker-compose, execute the command provided below.
This command will launch the portal on localhost at port 3001. Now, you can bootstrap the portal and start managing your API products.
- Bootstrap the portal Now the portal is running on port 3001, but it needs to be bootstrapped by providing credentials for the super admin user since it’s the first you are launching it. Follow the bootstrapping section of the documentation to bootstrap the portal via the UI or the admin API.
-
Clean up
If you want to clean up your environment or start the installation process from scratch, execute the following commands to stop and remove the portal container:
Kubernetes
Using New Helm Chart
There are two ways to install Tyk Enterprise Developer Portal. You can enableglobal.components.devPortal
during Tyk Self-Managed deployment by following the Tyk Self-Managed installation instruction using our tyk-stack
umbrella chart. It will install Tyk Enterprise Developer Portal together with Tyk Gateway and Dashboard in the same namespace.
Alternatively, you can install Tyk Enterprise Developer Portal as standalone component using our tyk-dev-portal
chart. This page provides a clear and concise, step-by-step guide for installing the Tyk Enterprise Developer Portal as standalone component using the new helm chart.
To install the portal using helm charts, you need to take the following steps:
- Create the
tyk-dev-portal-conf
secret - Specify config settings for the portal in
values.yaml
- Launch the portal using the helm chart
-
Create the
tyk-dev-portal-conf
secret Make sure thetyk-dev-portal-conf
secret exists in your namespace. This secret will automatically be generated if Tyk Dashboard instance was bootstrapped with tyk-boostrap component chart andbootstrap.devPortal
was set totrue
in thevalues.yaml
. If the secret does not exist, you can create it by running the following command.The fieldsTYK_ORG
andTYK_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. -
Config settings
You must set the following values in the
values.yaml
or with--set {field-name}={field-value}
using the helm upgrade command:
In addition toField Name Description global.adminUser.email
andglobal.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
Enterprise Portal version. You can get the latest version image tag from Docker Hub 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
values.yaml
, you can also define the environment variables described in the configuration section to further customize your portal deployment. These environment variables can also be listed as a name value list under theextraEnvs
section of the helm chart. -
Launch the portal using the helm chart
Run the following command to update your infrastructure and install the developer portal:
Configuration
Please refer to this guide for an explanation of all configuration options.Note: Helm chart supports Enterprise Portal v1.2.0+.
Using Legacy Helm Chart
NoteIt is recommended to use new helm charts instead of legacy charts. Guide for new charts can be found here
- Create the
tyk-enterprise-portal-conf
secret - Specify config settings for the portal in
values.yaml
- Launch the portal using the helm chart
-
Create the
tyk-enterprise-portal-conf
secret Make sure thetyk-enterprise-portal-conf
secret exists in your namespace. This secret will automatically be generated during the Tyk Dashboard bootstrap if thedash.enterprisePortalSecret
value is set totrue
in thevalues.yaml
. If the secret does not exist, you can create it by running the following command.WhereTYK_ORG
andTYK_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. -
Config settings
You must set the following values in the
values.yaml
or with--set {field-name}={field-value}
with the helm upgrade command:
In addition to values.yaml, you can also define the environment variables described in the configuration section to further customize your portal deployment. These environment variables can also be listed as a name value list under theField 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
extraEnvs
section of the helm chart. -
Launch the portal using the helm chart
Run the following command to update your infrastructure and install the developer portal:
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.
Note: Helm chart supports Enterprise Portal v1.2.0+.
Red Hat (RHEL / CentOS)
This guide provides a step-by-step recipe for launching the Tyk Enterprise Developer Portal using an RPM package in Red Hat environment (RHEL / CentOS).NoteThis document is just an example. Customize all fields, including the username, password, root password, database name and more.Be sure to update the connection DSN in the env-file accordingly.
- Connectivity to packagecloud.io. If your environment doesn’t have connectivity to packagecloud, you will need to download the portal package and copy it to the target host.
- RPM Package Manager should be installed on the host machine.
-
Download the portal package
To start with, you need to download the portal package from packagecloud.io. To keep things organized, first create a directory where all installation assets (packages and config files) will be stored:
Next, download the portal package from packagecloud.io by executing the command below. Ensure to replace package-version with actual package version e.g. https://packagecloud.io/tyk/portal-unstable/packages/el/8/portal-1.7.0-1.x86_64.rpm/download.rpm?distro_version_id=205 for the portal v1.7.0 for x86_64.
-
Install the portal package
Once the package is downloaded, you need to install using RPM. Execute the below command to so. Once again, ensure to replace
portal-1.7.0-1.x86_64.rpm
with an actual filename of the package you have downloaded on the previous step. -
Update the configuration file with your license
Before starting the portal service, you need to configure the portal. Once the rpm package has been installed, the portal configuration file will be located in
/opt/portal/portal.conf
. Initially, the config file is filled with the default values. The minimal configuration change to start the portal is to add theLicenseKey
property to the config file. The below sample configuration will start the portal on portal 3001 with PostgreSQL as a database, no TLS enabled, and all CMS assets (images, theme files, etc.) are stored in the filesystem. You can, however, customize the provided example and make more suitable for your need using the configuration reference. -
Start the portal service
Now when the portal package is installed and the configuration is updated, it is time to start the portal by executing the following command:
To check status and log of the portal execute the following command:
- Bootstrap the portal Now the portal is running on port 3001, but it needs to be bootstrapped by providing credentials for the super admin user since it’s the first you are launching it. Follow the bootstrapping section of the documentation to bootstrap the portal via the UI or the admin API.
Bootstrapping Enterprise Developer Portal
When launching the Tyk Enterprise Developer portal for the first time, it starts in a special bootstrap mode, which is required to create the first admin user who will act as the super admin. After launching the portal, you can bootstrap it using either the portal UI or the bootstrap API. This section explains how to bootstrap the portal using both the portal UI and the bootstrap API.Bootstrapping the Portal via the UI
After launching the portal for the first time, you can use its UI to bootstrap it. The portal will display a form that allows you to create a super admin user and set their password. Navigate to the portal UI in your browser to start bootstrapping the portal. You should see the following:
Register to Developer portal
button to complete the bootstrapping process.
The bootstrap process should take no longer than a couple of seconds, so almost instantly the portal will display the following page, which confirms the successful bootstrap.

Login
button to proceed to the login page, where you can use the newly created super admin credentials to log in to the portal.
Bootstrapping the Portal via the API
The second approach to bootstrap the portal is through the bootstrap API, which allows you to programmatically bootstrap the portal. To bootstrap the portal via an API call, call the bootstrap API:- username - email of the super admin, it is also used as their login
- password - the super admin login password
- first_name - first name of the super admin
- last_name - first name of the super admin
Take a note of the api_token fieldYou will need this to call other Portal APIs.
Login as the super admin
After you have bootstrapped the portal, either via the UI or the bootstrap API, you can use the super admin’s login credentials to log in to the portal. Open the portal UI in your browser and click on the ‘Login’ button to open the login page.
On the login page, enter the super admin credentials for logging into the portal:

Congratulations!Now you have a fully functional portal.
You can continue configuring and customizing it either via the UI or the portal admin API. Please refer to the Tyk Enterprise Developer Portal Concepts section for further guidance.