Thread

SA
Saif Ali Shaik7:23 AMOpen in Slack
I've tried deploying Archestra on render.com, but it turns out I cannot expose both :3000 or :9000 ports for admin UI and API access simultaneously. Is there a work around to this?

5 replies
V
vision397:38 AMOpen in Slack
Yup... I also mentioned same issue
J(
joey (archestra team)10:24 AMOpen in Slack
so I haven't tried this fully myself yet, but in practice this 👇 should work:
all traffic can go through port 3000. The Next.js frontend already has rewrites configured in next.config.ts that proxy everything to the backend internally:
/api/* → backend port 9000
/v1/* → backend port 9000 (LLM proxy endpoints)
/health → backend health check
/ws → WebSocket connections
Since both the frontend and backend run inside the same container (managed by supervisord in the Docker image), port 9000 is just an internal port. You only need to expose port 3000 externally, and all API calls will be transparently proxied to the backend within the container.
J(
joey (archestra team)10:24 AMOpen in Slack
On Render: just set the exposed port to 3000 and make sure ARCHESTRA_INTERNAL_API_BASE_URL is set to http://localhost:9000 (which should be the default). Everything should work through the single port.
J(
joey (archestra team)10:25 AMOpen in Slack
SA
Saif Ali Shaik10:31 AMOpen in Slack
Thanks @user. It turns out the its' easy to exhaust the free plan (512 MB) from render.com to deploy and record a demo. So I think I may have have to go with local version itself. Appreciate you chiming in!
:thumbsup_all:2