This guide explains how to deploy the IssueMatch application on Render.
- A Render account
- Your code pushed to a GitHub repository
- Firebase project with credentials
- Google AI Studio API key
The easiest way to deploy is using Render's Blueprint feature:
- Push your code to GitHub (including the
render.yamlfile) - Log in to your Render dashboard
- Go to "Blueprints" in the sidebar
- Click "New Blueprint Instance"
- Connect your GitHub repository
- Click "Apply"
Render will automatically create both services defined in your render.yaml file.
After deployment, you need to set up the following environment variables in the Render dashboard:
- Go to your backend service in the Render dashboard
- Navigate to "Environment" tab
- Add the following environment variables:
GOOGLE_AI_STUDIO_API_KEY: Your Gemini API keyGITHUB_CLIENT_ID: Your GitHub OAuth app client IDGITHUB_CLIENT_SECRET: Your GitHub OAuth app client secret
- Go to your frontend service in the Render dashboard
- Navigate to "Environment" tab
- Add the following environment variables:
NEXT_PUBLIC_FIREBASE_API_KEY: Your Firebase API keyNEXT_PUBLIC_FIREBASE_AUTH_DOMAIN: Your Firebase auth domainNEXT_PUBLIC_FIREBASE_PROJECT_ID: Your Firebase project IDNEXT_PUBLIC_FIREBASE_STORAGE_BUCKET: Your Firebase storage bucketNEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: Your Firebase messaging sender IDNEXT_PUBLIC_FIREBASE_APP_ID: Your Firebase app IDFIREBASE_SERVICE_ACCOUNT_KEY: Your Firebase service account key as a JSON string
- Go to your backend service in the Render dashboard
- Navigate to "Environment" tab
- Scroll down to "Secret Files"
- Add a new secret file:
- Path:
backend/app/services/keys.json - Contents: Your Firebase service account JSON
- Path:
- Go to your GitHub OAuth app settings
- Update the callback URL to point to your deployed backend:
https://your-backend-url.onrender.com/api/v1/auth/callback
If you encounter CORS issues, you may need to update the CORS settings in your backend code to allow requests from your deployed frontend URL.
- Check the build logs in the Render dashboard
- Ensure all dependencies are correctly specified in
requirements.txtandpackage.json - Verify that your
render.yamlfile is correctly formatted
- Check that your GitHub OAuth callback URL is correctly set
- Verify that your Firebase credentials are correctly configured
- Ensure that the
SECRET_KEYenvironment variable is set
- Verify that
NEXT_PUBLIC_API_URLis correctly set to your backend URL - Check CORS settings in your backend code
- Ensure that your backend service is running correctly
Render provides built-in logs and metrics for your services. You can access them from the Render dashboard to monitor your application's performance and troubleshoot issues.