Skip to content

Latest commit

 

History

History
136 lines (95 loc) · 3.45 KB

File metadata and controls

136 lines (95 loc) · 3.45 KB

Heroku Deployment Guide for World Staffing Awards

Prerequisites

  1. Heroku CLI installed
  2. Heroku account with access to world-staffing-summit app
  3. Git repository initialized and connected to GitHub

Required Environment Variables

Set these environment variables in Heroku:

# Supabase Configuration (REQUIRED)
heroku config:set NEXT_PUBLIC_SUPABASE_URL=your_supabase_url -a world-staffing-summit
heroku config:set NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key -a world-staffing-summit
heroku config:set SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key -a world-staffing-summit

# Optional: Storage Configuration
heroku config:set SUPABASE_STORAGE_BUCKET=wsa-media -a world-staffing-summit

# HubSpot Integration (if using)
heroku config:set HUBSPOT_PRIVATE_APP_TOKEN=your_hubspot_token -a world-staffing-summit
heroku config:set HUBSPOT_BASE_URL=https://api.hubapi.com -a world-staffing-summit
heroku config:set HUBSPOT_CONTACT_TAG_PROP=wsa_role -a world-staffing-summit
heroku config:set HUBSPOT_CONTACT_TAG_VOTER="Voters 2026" -a world-staffing-summit
heroku config:set HUBSPOT_CONTACT_TAG_NOMINEE="Nominees 2026" -a world-staffing-summit

# Loops Integration (if using)
heroku config:set NEXT_PUBLIC_LOOPS_ENABLED=true -a world-staffing-summit
heroku config:set LOOPS_API_KEY=your_loops_api_key -a world-staffing-summit

# Node.js Configuration
heroku config:set NODE_ENV=production -a world-staffing-summit

Deployment Steps

1. Login to Heroku

heroku login

2. Add Heroku Remote

heroku git:remote -a world-staffing-summit

3. Verify Remote

git remote -v

You should see:

heroku  https://git.heroku.com/world-staffing-summit.git (fetch)
heroku  https://git.heroku.com/world-staffing-summit.git (push)

4. Deploy to Heroku

# Commit any pending changes
git add .
git commit -m "Prepare for Heroku deployment"

# Push to Heroku
git push heroku main

If your branch is not main, use:

git push heroku your-branch-name:main

5. Verify Deployment

heroku open -a world-staffing-summit

6. Check Logs (if needed)

heroku logs --tail -a world-staffing-summit

Build Configuration

The app uses the following build configuration:

  • Build Command: npm run build (automatically detected)
  • Start Command: npm run start (defined in Procfile)
  • Node Version: Will use the version specified in package.json engines field or latest LTS

Troubleshooting

Build Failures

If the build fails, check:

  1. All environment variables are set correctly
  2. Dependencies are properly listed in package.json
  3. Check build logs: heroku logs --tail -a world-staffing-summit

Runtime Issues

  1. Check application logs: heroku logs --tail -a world-staffing-summit
  2. Verify environment variables: heroku config -a world-staffing-summit
  3. Restart the app: heroku restart -a world-staffing-summit

Database Connection Issues

Ensure Supabase environment variables are correctly set and the Supabase project is accessible from Heroku's servers.

Scaling

To scale your app:

# Scale to 1 web dyno (default)
heroku ps:scale web=1 -a world-staffing-summit

# Scale to multiple dynos (requires paid plan)
heroku ps:scale web=2 -a world-staffing-summit

Custom Domain

To add a custom domain:

heroku domains:add www.yourdomain.com -a world-staffing-summit

Then configure your DNS provider to point to the Heroku DNS target shown.