XAI Router Self-Hosted
This is the self-hosting guide for XAI Router, for running a dedicated private instance.
1) Prerequisites
- Linux server (recommended: 2 vCPU / 2 GB RAM or above)
- Docker + Docker Compose installed
- Three domains pointing to your server IP:
- API:
api-xai.your-domain.com - Account console:
manage-xai.your-domain.com - Admin console:
admin-xai.your-domain.com
- API:
2) Docker Compose Deployment
1) Generate docker-compose.yml
curl -X POST https://deploy.xairouter.com/xai?raw=true \
-H "Content-Type: application/json" \
-d '{
"xai_mail": "[email protected]",
"xai_api": "api-xai.your-domain.com",
"xai_manage": "manage-xai.your-domain.com",
"xai_admin": "admin-xai.your-domain.com"
}' > docker-compose.yml
2) Start services
docker-compose -f docker-compose.yml up -d
3) Configure Nginx
curl -X POST https://deploy.xairouter.com/nginx?raw=true \
-H "Content-Type: application/json" \
-d '{
"xai_api": "api-xai.your-domain.com",
"xai_manage": "manage-xai.your-domain.com",
"xai_admin": "admin-xai.your-domain.com"
}' > /etc/nginx/nginx.conf
sudo systemctl restart nginx && sudo systemctl enable nginx
4) Enable HTTPS
Enable TLS for all three domains (e.g. Letβs Encrypt).
5) Verify deployment
docker-compose ps
Open in browser:
https://manage-xai.your-domain.comhttps://admin-xai.your-domain.com
3) Kubernetes Deployment (Optional)
curl -X POST https://deploy.xairouter.com/xai/k8s?raw=true \
-H "Content-Type: application/json" \
-d '{
"xai_mail": "[email protected]",
"xai_api": "api-xai.your-domain.com",
"xai_manage": "manage-xai.your-domain.com",
"xai_admin": "admin-xai.your-domain.com"
}' > xai-router-k8s.yaml
kubectl apply -f xai-router-k8s.yaml
Adjust StorageClass, Ingress, and TLS settings based on your cluster.
4) Post-Deployment Recommendations
- rotate admin credentials on first login
- create child-account hierarchy (unlimited depth/quantity)
- configure mapping, rate limits, and billing alerts