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#
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#
Access Token for the private Docker Hub repository (obtained via email)
Preparing the Docker Image: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#
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:
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.
Additional Resources#
Modified at 2025-11-24 15:50:32