Self-hosting Apidog
  1. Deployment
Self-hosting Apidog
  • Introduction
    • Installation Overview
    • System Requirements
  • Licensing
    • Obtaining Apidog On-premises License
  • Deployment
    • Running Apidog on Docker
    • Running Apidog on Kubernetes
    • Running Apidog Multi-Container Deployment without Kubernetes
    • Privacy
  • Initial Setup
    • Admin Panel
    • Installing Apidog Client
    • Access Apidog Web
  • Configuration
    • Environment Variables
    • Configuring the application database
    • Configuring the application storage service
    • Configuring the git connection environment
    • Authentication Providers
      • Using LDAP for authentication
      • Using OKTA for authentication
      • Using OAuth2.0 for authentication
  • Maintenance & Upgrades
    • Updating Apidog
    • Backing up Apidog
    • License Renewal
    • System Data Flow
  • Troubleshooting
    • Troubleshooting
    • FAQ
  • Apidog API (coming soon)
  1. Deployment

Running Apidog on Kubernetes

This is for running Apidog on Kubernetes. If you're trying to run Apidog on Docker, check out these instuctions.

Requirements#

For hardware and software requirements, please refer to the System Requirements documentation.

Kubernetes and Helm Requirements#

Kubernetes: Verify your installed Kubernetes version using the command kubectl version. The minimum supported version is 1.19, while using a newer version is recommended.
Helm: Verify your installed Helm version using the command helm version. The minimum supported version is 3.0.0, while using a newer version like >=3.12.0 is recommended.

Preparing for deployment#

Prerequisites:
Access Token for the private Docker Hub repository (obtained via email)
Configured application database and storage service following Configuring the application database and Configuring the application storage service.
Preparing the Docker Image:
1.
Log in to Docker Hub:
docker login --username=apidog docker.io
2.
Pull the latest Docker image:
docker pull docker.io/apidog/apidog-ee:<image_tag>

Running Apidog using Helm chart#

Download and Setup#

1.
Download the Helm chart:
2.
Configure the chart:
Edit the values.yaml file to match your environment configuration. Update database connections, Redis settings, and other environment-specific values.

Helm Commands#

Installing the Chart#

Upgrading the Deployment#

kubectl Commands for Managing Apidog Pods#

After deploying with Helm, you can use kubectl commands to manage and troubleshoot your Apidog deployment:

Viewing Pods and Logs#

Interactive Shell Access#

Integrating with Vault service#

If you are using Vault service like HashiCorp Vault to manage secret environment variables, modify the chart's deployment yaml file with entrypoint and command as follows:

Running Apidog using single deployment YAML file#

We recommend using the Helm chart. This alternative should only be used when the Helm chart is unavailable for your specific use case.
1.
Create Kubernetes Secrets:
Before deploying, create a secret containing all sensitive values:
If you use SSO or RTM, add additional secrets:
--from-literal=oauth2-client-secret='<client_secret>' (for OAuth2 SSO)
--from-literal=okta-client-secret='<client_secret>' (for Okta SSO)
--from-literal=ldap-bind-password='<bind_password>' (for LDAP SSO)
--from-literal=rtm-redis-password='<rtm_redis_password>' (for RTM with separate Redis)
2.
Modify the provided Kubernetes Deployment YAML file:
Replace <image_tag> with the desired image tag (e.g., 2.7.38).
Set DB_DIALECT to either "mysql" or "postgresql" based on your database.
Fill in all placeholder values (e.g., <mysql_host>, <redis_host>, etc.).
Update the BASE_URL variable with the IP address or domain name for your API service.
Configure optional settings like SSO, RTM, or storage as needed.
Remove or comment out optional sections you don't need.
3.
Deploy the Apidog application:
You still need to change the value part following the instructions in: https://self-hosting.apidog.io/environment-variables-405300m0

Verify successful startup#

Execute the following command in the container:
The application has started successfully if the output includes lines similar to the following:
...
[WARN] This Redis server's `default` user does not require a password, but a password was supplied
connect succeeded! value is  null
Executing (default): SELECT 1+1 AS result
...
Connecting to 127.0.0.1:3000 (127.0.0.1:3000)
remote file exists
Connecting to 127.0.0.1 (127.0.0.1:80)
remote file exists
Connecting to 127.0.0.1 (127.0.0.1:80)
remote file exists
If the output differs, the application has not started successfully or is still starting. The typical time for a graceful startup is 30 seconds, but this may vary depending on the performance of the hardware.

Run the application#

To access the service, follow the instructions below:

For web access:#

Open your web browser and navigate to the URL specified by the BASE_URL environment variable. This URL typically follows the format https://api.example.com/web/ or http://192.168.0.13/web.

For desktop application access:#

Upon launching the application for the first time, you will be prompted to enter the Server Base URL. Ensure this URL does not include a trailing slash.
Seed Installing Apidog Client

Additional Resources#

Environment variables: Configuration Guide
Troubleshooting: Troubleshooting Guide
Modified at 2025-11-24 15:50:32
Previous
Running Apidog on Docker
Next
Running Apidog Multi-Container Deployment without Kubernetes
Built with