Deployment
Deploy apps and projects to production with PandaOS. Auto-deploy handles everything automatically, or use your own Vercel integration for full control.
Auto-deploy vs Vercel Integration
PandaOS supports two deployment paths. Which one is used depends on whether your project has its own Vercel integration connected:
| Auto-deploy (PandaOS managed) | Vercel Integration (your own) | |
|---|---|---|
| When | Project does NOT have Vercel connected | Project has Vercel connected and linked |
| How it works | PandaOS creates and manages a GitHub repo + Vercel project for you | You push to GitHub, Vercel auto-builds from the push |
| Setup | None, just ask PandaOS to deploy | Connect Vercel in Settings, link a project |
| Monitoring | pandaos_deploy_status tool | vercel_list_deployments, Deployments tab |
| Control | PandaOS manages everything | Full control over repo, builds, domains |
PandaOS automatically picks the right path. If your project has Vercel linked, PandaOS uses the Vercel integration tools. If not, PandaOS offers auto-deploy.
One-Click Auto-deploy
PandaOS can deploy any project, custom apps or regular projects, to a live production URL. The entire pipeline (GitHub repository, Vercel project, domain assignment, and build monitoring) is handled automatically. You don't need to configure any external services yourself.
Deployed apps are hosted on Vercel under the PandaOS infrastructure and get a subdomain at {slug}.pandaos.ai.
Requirements
- PandaOS account, sign in via Settings > Account using Google or GitHub
No Vercel account, GitHub account, or API tokens are needed on your end. PandaOS provisions everything using its own managed infrastructure.
Deploying an App
There are two ways to deploy:
From Chat
Ask PandaOS to deploy your app:
Deploy my app "my-calculator"PandaOS uses the pandaos_deploy_app tool to run the full pipeline and reports progress in real-time:
- Generates a unique deploy slug
- Creates a private GitHub repository
- Pushes all app files
- Creates a Vercel project linked to the repo
- Assigns a custom domain
- Polls the build until it's live (or reports errors)
When finished, PandaOS returns the live URL.
From the App Detail Page
Open your app in the App Gallery, then click the Deploy button in the app detail view. The same pipeline runs with progress updates shown in the UI.
Deploy Slug and URL
Each deployment gets a unique slug derived from your app name, prefixed with a short hash of your user ID for isolation:
{user-hash}-{app-name-slug}.pandaos.aiFor example, if your user ID hashes to a1b2c3 and your app is called "My Calculator", the URL would be:
https://a1b2c3-my-calculator.pandaos.aiThe slug is stored in your app's manifest.json after the first deploy and reused for all subsequent redeployments.
Redeploying
After making changes to your app, redeploy to push the latest files:
Redeploy my app "my-calculator"Or use the Redeploy button in the app detail page.
Redeployment pushes all changed files to the existing GitHub repository and triggers a new Vercel build. The URL and domain stay the same.
Checking Deploy Status
Ask PandaOS:
What's the deploy status of "my-calculator"?Or use the Status button in the app detail page. This returns:
- Current deployment URL
- GitHub repository name
- Deploy slug
- Last deployment timestamp and ID
Undeploying
To remove a deployed app entirely:
Undeploy "my-calculator"Undeploying is irreversible. It deletes the GitHub repository, the Vercel project, and clears all deployment info from the app manifest. The app files on your machine are not affected.
What Gets Deployed
PandaOS collects all files in your app directory and pushes them to GitHub. The following are automatically excluded:
| Excluded | Reason |
|---|---|
node_modules/ | Dependencies, Vercel installs these during build |
.git/ | Git metadata |
.env, .env.local, .env.production | Secrets, never committed |
dist/, .next/, .vercel/, .nuxt/, .output/ | Build outputs |
.DS_Store, Thumbs.db | OS metadata |
| Files > 1 MB | Likely binaries or large assets |
Everything else is pushed as UTF-8 text.
Framework Detection
If your app's manifest includes a framework field, PandaOS tells Vercel which framework to use for the build. Supported values:
| Manifest Value | Vercel Framework |
|---|---|
Next.js | nextjs |
Nuxt | nuxtjs |
SvelteKit | sveltekit |
Remix | remix |
Astro | astro |
Vite | vite |
Angular | angular |
If no framework is specified, Vercel auto-detects from the project files.
For simple static HTML apps (no build step), Vercel serves the files as-is, no framework configuration needed.
MCP Tools
The deploy pipeline is exposed to PandaOS through four MCP tools in the PandaOS MCP server:
| Tool | Description | Confirmation |
|---|---|---|
pandaos_deploy_app | Deploy an app to production | Yes |
pandaos_redeploy | Redeploy with latest changes | Yes |
pandaos_deploy_status | Check deployment status | No |
pandaos_undeploy | Remove a deployed app | Yes |
These tools are only available when you're signed in to your PandaOS account. Destructive actions (deploy, redeploy, undeploy) require user confirmation before executing.
Troubleshooting
"You need to sign in to PandaOS"
The deploy tools require authentication. Open Settings > Account and sign in with Google or GitHub.
Build fails after deploy
If the Vercel build fails, PandaOS reports the build errors. Common causes:
- Missing
package.jsonfor framework apps (Vercel needs it to install dependencies) - Incorrect framework detection, add a
frameworkfield to your manifest - Missing environment variables, if your app needs env vars, they must be set in Vercel separately
"App not found"
The appId must match the id field in your app's manifest.json, not the directory name. Check that the app is loaded by looking for it in the App Gallery.
Domain not resolving
Custom domains at *.pandaos.ai require wildcard DNS to be configured. If your deployed app's custom domain doesn't resolve but the Vercel URL works, DNS propagation may still be in progress.
Apps
PandaOS apps are self-contained tools and integrations that live as tabs in your workspace. PandaOS ships with built-in apps and lets you create custom ones.
MCP Servers
MCP (Model Context Protocol) servers extend PandaOS's capabilities by giving it access to external tools and data sources. PandaOS lets you configure MCP servers both globally and per-project.