Vercel
Host Jamdesk docs at a /docs subpath using Vercel rewrites
Use Vercel rewrites to proxy documentation requests to Jamdesk. Rewrites happen at the edge and don't change the URL in the browser.
Prerequisites
- A project deployed on Vercel
- Your Jamdesk subdomain (found in dashboard settings)
Step 1: Update vercel.json
Add a rewrites configuration to your vercel.json file. If the file doesn't exist, create it in your project root:
{
"rewrites": [
{
"source": "/docs",
"destination": "https://YOUR_SLUG.jamdesk.app/docs"
},
{
"source": "/docs/:path*",
"destination": "https://YOUR_SLUG.jamdesk.app/docs/:path*"
}
]
}Replace YOUR_SLUG with your actual Jamdesk subdomain (e.g., acme if your docs are at acme.jamdesk.app).
Step 2: Deploy
Deploy your changes to Vercel:
vercel --prod
Or push to your connected Git repository to trigger an automatic deployment.
Step 3: Verify
Visit https://yoursite.com/docs to confirm your documentation is being served correctly.
Understanding the Configuration
| Property | Description |
|---|---|
source | The path pattern on your domain that triggers the rewrite |
destination | The URL to proxy the request to |
:path* | A wildcard that captures all path segments after /docs/ |
The two rewrite rules handle:
- The base
/docspath (e.g.,yoursite.com/docs) - All nested paths (e.g.,
yoursite.com/docs/getting-started)
Adding to Existing Rewrites
If you already have rewrites configured, add the Jamdesk rules to your existing array:
{
"rewrites": [
{ "source": "/api/:path*", "destination": "/api/:path*" },
{ "source": "/docs", "destination": "https://YOUR_SLUG.jamdesk.app/docs" },
{ "source": "/docs/:path*", "destination": "https://YOUR_SLUG.jamdesk.app/docs/:path*" }
]
}Rewrite order matters. Place more specific rules before general ones.
Using next.config.js (Next.js Projects)
For Next.js projects, you can alternatively configure rewrites in next.config.js:
/** @type {import('next').NextConfig} */
const nextConfig = {
async rewrites() {
return [
{
source: "/docs",
destination: "https://YOUR_SLUG.jamdesk.app/docs",
},
{
source: "/docs/:path*",
destination: "https://YOUR_SLUG.jamdesk.app/docs/:path*",
},
];
},
};
export default nextConfig;Troubleshooting
Ensure vercel.json is in your project root and properly formatted. Check the Vercel deployment logs for configuration errors.
Verify you have both rewrite rules - one for /docs and one for /docs/:path*. Missing the wildcard rule causes nested pages to fail.
Check that your destination URL uses https:// and points to jamdesk.app, not your own domain.