Skip to Content
Rendez-vous.ai Dashboard 1.1.0 is released 🎉
Getting StartedPrerequisites

Prerequisites

Before diving into the codebase and spinning up the Rendez-vous.ai ecosystem, you need to ensure your local development environment is properly equipped.

Given the microservices nature of the project, we rely on standard Node.js environments for the applications and containerization for databases and telephony engines.

🛠️ Core Tools

  • Node.js (v25.x): The backbone for the Dashboard, Core API, and Web Widget. We highly recommend using nvm (Node Version Manager)  to easily switch between Node versions.
  • Corepack & pnpm: For rdv.ai-dashboard and rdv.ai-widget, we use pnpm managed via Corepack to ensure exact version matching across environments. Install Corepack globally and enable it:
    npm install -g corepack corepack enable
  • npm: The rdv.ai-API repository uses standard, native npm for its package management.
  • Git: For cloning the repositories and version control.

🐳 Containerization (Podman)

While the staging and stable environments run on Kubernetes, you do not need to run a local Kubernetes cluster (like Minikube or kind) for daily development. It adds unnecessary overhead.

Instead, we use Podman  (and podman-compose) to spin up our stateful dependencies (PostgreSQL, MinIO/S3) locally. Podman provides a daemonless, rootless alternative to Docker that is highly recommended for this project.

  • Install Podman: Follow the official installation instructions  for your OS (macOS, Linux, or Windows).
  • Install Podman Compose: Used to orchestrate the local database and media storage containers.
    pip3 install podman-compose

📞 Telephony (FreeSWITCH) & Local Testing

Testing telephony locally presents a unique networking challenge. While it is technically possible to run rdv.ai-FreeSWITCH locally via Podman and test it using local SIP softphones (like Zoiper or Linphone), testing with live SIP Trunks (Twilio, VoIP.ms) locally is highly discouraged. Standard tunneling software (like ngrok) cannot effectively handle RTP (Real-time Transport Protocol) media streams, which require a massive range of open ports to function correctly.

Instead of running FreeSWITCH locally, we recommend using the already-running FreeSWITCH instances in our beta or stable Kubernetes clusters and bridging them to your local API:

  1. Expose your locally running rdv.ai-API instance to the internet using a tunneling service like ngrok  (an additional script is prepared for launching ngrok seamlessly via npm run ngrok inside the rdv.ai-API repository).
  2. Access the Kubernetes cluster and locate the API_HOST secret within the freeswitch namespace.
  3. Update the API_HOST secret to point to your temporary ngrok URL.

This allows the cloud-hosted FreeSWITCH (which handles public SIP/RTP networking perfectly) to route call webhooks and audio streams directly to your local development environment for debugging.

🌐 External Accounts

To fully test the AI agents and ecosystem, you will need access to the following:

  1. Ngrok: An account to create the secure HTTP tunnel needed to expose your local rdv.ai-API to the Kubernetes FreeSWITCH instance.
  2. Kubernetes Access: kubectl access to the beta or stable clusters to modify the freeswitch namespace secrets during active development.
Last updated on