docs: enhance Vercel deployment documentation and add cleanup guide

- Add comprehensive VERCEL_CLEANUP.md guide with step-by-step cleanup instructions
- Enhance deployment.md with detailed protection mechanisms and alternatives
- Add troubleshooting section and security considerations
- Include Docker, static export, and other deployment platform options
- Cross-reference cleanup guide from main deployment documentation

Addresses comment #3029277293 requesting documentation validation
This commit is contained in:
Roo Code 2025-07-02 21:01:45 +00:00
parent 495e25042d
commit 16cca43fdd
2 changed files with 397 additions and 19 deletions

184
docs/VERCEL_CLEANUP.md Normal file
View file

@ -0,0 +1,184 @@
# Vercel Cleanup and Disconnection Guide
This guide provides step-by-step instructions for safely disconnecting and cleaning up Vercel deployments for the Roo-Code-Cloud repository.
## ⚠️ Important Notice
The applications in this repository (`apps/web-evals` and `apps/web-roo-code`) are now configured with **automatic Vercel deployment protections**. However, if you previously had Vercel deployments, you may need to clean them up manually.
## Pre-Cleanup Checklist
Before proceeding with Vercel cleanup:
- [ ] Ensure you have admin access to the Vercel project(s)
- [ ] Document any custom domain configurations
- [ ] Back up any environment variables or project settings
- [ ] Notify team members about the disconnection
- [ ] Verify alternative deployment methods are in place
## Step 1: Access Vercel Dashboard
1. Log in to [Vercel Dashboard](https://vercel.com/dashboard)
2. Navigate to your project(s) related to Roo-Code-Cloud
3. Identify the projects that need to be removed:
- `roo-code-cloud-web-evals` (or similar)
- `roo-code-cloud-web-roo-code` (or similar)
## Step 2: Remove Custom Domains (if applicable)
For each project with custom domains:
1. Go to **Settings** → **Domains**
2. Remove all custom domains by clicking the **Remove** button
3. Confirm the removal when prompted
4. Wait for DNS propagation (may take up to 48 hours)
## Step 3: Download Project Data (Optional)
If you need to preserve any data:
1. Go to **Settings** → **Environment Variables**
2. Export/copy any important environment variables
3. Go to **Deployments** tab
4. Note any important deployment configurations
## Step 4: Delete Vercel Projects
For each project:
1. Navigate to **Settings** → **Advanced**
2. Scroll to the **Delete Project** section
3. Type the project name to confirm deletion
4. Click **Delete Project**
5. Confirm the deletion in the popup
## Step 5: Remove GitHub Integration (if applicable)
If the repository was connected via GitHub integration:
1. Go to [Vercel Integrations](https://vercel.com/dashboard/integrations)
2. Find the GitHub integration
3. Click **Manage** → **Repository Access**
4. Remove access to the `RooCodeInc/Roo-Code-Cloud` repository
5. Save the changes
## Step 6: Clean Up Local Vercel Configuration
Remove any local Vercel configuration files:
```bash
# Remove Vercel configuration files (if they exist)
rm -f .vercel/project.json
rm -f .vercel/README.txt
rmdir .vercel 2>/dev/null || true
# Remove any Vercel-specific files from apps
rm -f apps/web-evals/vercel.json
rm -f apps/web-roo-code/vercel.json
```
## Step 7: Verify Cleanup
Confirm the cleanup was successful:
1. Check that projects no longer appear in Vercel Dashboard
2. Verify custom domains are no longer pointing to Vercel
3. Confirm GitHub integration no longer has repository access
4. Test that local development still works:
```bash
# Test local development
cd apps/web-evals && npm run dev
cd apps/web-roo-code && npm run dev
```
## Step 8: Update DNS (if custom domains were used)
If you were using custom domains:
1. Update DNS records to point to your new hosting provider
2. Remove any CNAME records pointing to Vercel
3. Add appropriate A/AAAA records for your new hosting
## Troubleshooting
### Project Won't Delete
If you can't delete a project:
- Ensure you have admin permissions
- Remove all custom domains first
- Contact Vercel support if the issue persists
### DNS Still Points to Vercel
If DNS records still point to Vercel after cleanup:
- Check your DNS provider's control panel
- Remove CNAME records pointing to `cname.vercel-dns.com`
- DNS changes can take up to 48 hours to propagate
### GitHub Integration Issues
If you can't remove GitHub integration:
- Go to GitHub → Settings → Applications → Authorized OAuth Apps
- Find Vercel and revoke access
- Remove the integration from Vercel dashboard
## Alternative Deployment Options
After Vercel cleanup, consider these deployment alternatives:
### Docker Deployment
```bash
# Build and deploy with Docker
docker build -t roo-code-app .
docker run -p 3000:3000 roo-code-app
```
### Static Export
```bash
# Configure Next.js for static export
npm run build
npm run export
```
### Other Platforms
- **Netlify**: Great for static sites and JAMstack
- **Railway**: Simple deployment with Git integration
- **DigitalOcean App Platform**: Managed container deployment
- **AWS Amplify**: Full-stack deployment with AWS integration
## Post-Cleanup Verification
After completing the cleanup:
- [ ] Vercel projects are deleted
- [ ] Custom domains are disconnected
- [ ] GitHub integration is removed
- [ ] Local development works
- [ ] Alternative deployment is configured
- [ ] Team is notified of changes
- [ ] DNS records are updated (if applicable)
## Need Help?
If you encounter issues during cleanup:
1. Check the [Vercel Documentation](https://vercel.com/docs)
2. Contact Vercel Support through their dashboard
3. Consult with the development team
4. Review this repository's deployment documentation
## Security Note
After cleanup, ensure:
- No sensitive environment variables remain in Vercel
- API keys used with Vercel are rotated if necessary
- Access tokens are revoked
- Team members' access is properly managed in new deployment platform

View file

@ -16,49 +16,243 @@
- Avoids unintended resource usage on Vercel
- Ensures intentional deployment decisions
- Protects against misconfigured CI/CD pipelines
- Maintains control over deployment environments
- Prevents unauthorized or unmonitored deployments
### Vercel Cleanup and Disconnection
If you previously had Vercel deployments and need to clean them up, see the comprehensive guide:
📖 **[Vercel Cleanup Guide](./VERCEL_CLEANUP.md)** - Step-by-step instructions for safely disconnecting and cleaning up existing Vercel deployments.
### If You Need to Deploy to Vercel
⚠️ **Warning**: Only proceed if you have explicit approval and understand the implications.
If you intentionally want to deploy to Vercel, you must:
1. Remove or modify the `.vercelignore` files in the respective app directories
2. Remove `automaticVercelMonitors: false` from the Next.js configuration files
3. Configure your Vercel project settings appropriately
1. **Remove Protection Files**:
```bash
# Remove .vercelignore files
rm apps/web-evals/.vercelignore
rm apps/web-roo-code/.vercelignore
```
2. **Update Next.js Configuration**:
- Remove `automaticVercelMonitors: false` from `apps/web-evals/next.config.ts`
- Remove `automaticVercelMonitors: false` from `apps/web-roo-code/next.config.ts`
3. **Configure Vercel Project Settings**:
- Set up proper environment variables
- Configure build and deployment settings
- Set up custom domains if needed
4. **Test Thoroughly**:
- Verify the deployment works as expected
- Test all functionality in the deployed environment
- Monitor resource usage and costs
### Alternative Deployment Options
Consider these alternatives for deploying the Next.js applications:
Consider these recommended alternatives for deploying the Next.js applications:
- **Docker**: Both applications can be containerized and deployed to any container platform
- **Static Export**: Configure Next.js for static export if applicable
- **Other Platforms**: Deploy to Netlify, Railway, or other hosting providers
- **Self-hosted**: Deploy to your own infrastructure
#### 🐳 Docker Deployment
Both applications can be containerized and deployed to any container platform:
```bash
# Build Docker image
docker build -t roo-code-app .
# Run locally
docker run -p 3000:3000 roo-code-app
# Deploy to container platforms
# - AWS ECS/Fargate
# - Google Cloud Run
# - Azure Container Instances
# - DigitalOcean App Platform
```
#### 📦 Static Export
Configure Next.js for static export if your app supports it:
```bash
# Add to next.config.ts
const nextConfig = {
output: 'export',
trailingSlash: true,
images: { unoptimized: true }
}
# Build and export
npm run build
```
#### 🌐 Other Hosting Platforms
- **Netlify**: Excellent for static sites and JAMstack applications
- **Railway**: Simple deployment with Git integration and databases
- **DigitalOcean App Platform**: Managed container deployment
- **AWS Amplify**: Full-stack deployment with AWS integration
- **Cloudflare Pages**: Fast global deployment with edge computing
#### 🏠 Self-hosted Options
- **Traditional VPS**: Deploy to your own virtual private server
- **Kubernetes**: For scalable container orchestration
- **PM2**: Process manager for Node.js applications
## Application-Specific Notes
### web-evals
- Located in `apps/web-evals/`
- Next.js application for evaluation management
- Vercel protections: `.vercelignore` + `automaticVercelMonitors: false`
- **Location**: `apps/web-evals/`
- **Purpose**: Next.js application for evaluation management
- **Vercel Protections**:
- `.vercelignore` file (ignores all files: `*`)
- `automaticVercelMonitors: false` in Next.js config
- **Dependencies**: Requires database connection and evaluation services
- **Recommended Deployment**: Docker with database container
### web-roo-code
- Located in `apps/web-roo-code/`
- Next.js application for the main website
- Vercel protections: `.vercelignore` + `automaticVercelMonitors: false`
- Additional redirects configured for production domains
- **Location**: `apps/web-roo-code/`
- **Purpose**: Next.js application for the main website
- **Vercel Protections**:
- `.vercelignore` file (ignores all files: `*`)
- `automaticVercelMonitors: false` in Next.js config
- **Special Features**:
- Production domain redirects (www → non-www, HTTP → HTTPS)
- Custom redirect configuration in `next.config.ts`
- **Recommended Deployment**: Static export or Docker for dynamic features
## Protection Mechanism Details
### How .vercelignore Works
The `.vercelignore` file contains a single `*` wildcard that tells Vercel to ignore all files in the project, effectively preventing any deployment.
### How automaticVercelMonitors Works
Setting `automaticVercelMonitors: false` in the Next.js configuration disables Vercel's automatic monitoring features, which can trigger deployments.
### Bypassing Protections (Advanced)
If you need to temporarily bypass protections for testing:
```bash
# Temporarily rename protection files
mv apps/web-evals/.vercelignore apps/web-evals/.vercelignore.bak
mv apps/web-roo-code/.vercelignore apps/web-roo-code/.vercelignore.bak
# Deploy to Vercel
vercel --prod
# Restore protections
mv apps/web-evals/.vercelignore.bak apps/web-evals/.vercelignore
mv apps/web-roo-code/.vercelignore.bak apps/web-roo-code/.vercelignore
```
## Development
For local development, these protections do not affect your workflow:
```bash
# Install dependencies
npm install
# Start development servers
cd apps/web-evals && npm run dev
cd apps/web-roo-code && npm run dev
cd apps/web-evals && npm run dev # Usually runs on :3000
cd apps/web-roo-code && npm run dev # Usually runs on :3001
# Run both applications simultaneously
npm run dev # If workspace script is configured
```
## Questions?
### Development Environment Setup
If you have questions about deployment or need to modify these protections, please consult with the development team before making changes.
1. **Prerequisites**:
- Node.js 18+
- npm or pnpm
- Git
2. **Environment Variables**:
- Copy `.env.example` to `.env.local` in each app directory
- Configure required environment variables
- Never commit `.env.local` files
3. **Database Setup** (for web-evals):
- Set up local database or use development database
- Run migrations if applicable
- Seed test data if needed
## Monitoring and Maintenance
### Regular Checks
- Verify protection files are still in place
- Monitor for accidental Vercel project creation
- Review deployment logs and costs
- Update alternative deployment configurations
### Security Considerations
- Regularly rotate API keys and secrets
- Monitor access logs for unauthorized deployment attempts
- Keep deployment documentation up to date
- Review team access to deployment platforms
## Troubleshooting
### Common Issues
**Problem**: Vercel deployment still occurs despite protections
**Solution**:
1. Verify `.vercelignore` contains `*`
2. Check `automaticVercelMonitors: false` is in config
3. Remove any existing Vercel projects (see [VERCEL_CLEANUP.md](./VERCEL_CLEANUP.md))
**Problem**: Local development not working
**Solution**:
1. Run `npm install` in project root and app directories
2. Check Node.js version compatibility
3. Verify environment variables are set correctly
**Problem**: Alternative deployment failing
**Solution**:
1. Check platform-specific requirements
2. Verify build process works locally
3. Review deployment logs for specific errors
## Questions and Support
If you have questions about deployment or need to modify these protections:
1. **First**: Review this documentation and the [Vercel Cleanup Guide](./VERCEL_CLEANUP.md)
2. **Development Team**: Consult with the development team before making changes
3. **Security Team**: For security-related deployment questions
4. **DevOps Team**: For infrastructure and deployment platform questions
### Emergency Contacts
For urgent deployment issues:
- Check the project's README for current contact information
- Use the project's communication channels (Slack, Discord, etc.)
- Create an issue in the repository with the `deployment` label
---
**Last Updated**: January 2025
**Version**: 1.0
**Maintainer**: Development Team