Complete guide to deploy your futuristic Hook Forge app to Render.com using Docker.
- GitHub Account - Your code needs to be in a Git repository
- Render.com Account - Sign up at https://render.com (free)
- OpenAI API Key - Get from https://platform.openai.com/api-keys
# Initialize git (if not already done)
git init
# Add all files
git add .
# Commit
git commit -m "feat: futuristic Hook Forge ready for deployment"
# Add your GitHub remote
git remote add origin https://github.com/k1lgor/hook-forge.git
# Push to GitHub
git push -u origin main- Go to https://render.com/dashboard
- Click "New +" → "Blueprint"
- Connect your GitHub repository
- Render will auto-detect
render.yaml - Set environment variable:
- OPENAI_API_KEY: Your OpenAI API key
- Click "Apply"
-
Click "New +" → "Web Service"
-
Connect your GitHub repository
-
Configure:
- Name:
hook-forge - Environment:
Docker - Region: Choose closest to you
- Branch:
main - Dockerfile Path:
./Dockerfile - Plan: Free or Starter
- Name:
-
Add Environment Variables:
NODE_ENV=production PORT=3001 OPENAI_API_KEY=your_openai_api_key_here JWT_SECRET=any_random_secret_string -
Click "Create Web Service"
Render will:
- ✅ Clone your repository
- ✅ Build Docker image (takes 5-10 mins)
- ✅ Deploy your app
- ✅ Provide a URL (e.g.,
https://hook-forge.onrender.com)
| Variable | Required | Description |
|---|---|---|
NODE_ENV |
Yes | Set to production |
PORT |
Yes | Set to 3001 (Render provides this) |
OPENAI_API_KEY |
Yes | Your OpenAI API key |
JWT_SECRET |
Optional | Random string for JWT (auto-generated) |
Render uses /health endpoint to verify your app is running.
The multi-stage Dockerfile:
- deps: Installs dependencies
- client-builder: Builds React frontend
- server-builder: Builds Express backend
- runner: Production image with both built apps
In production, the Express server serves:
- API routes at
/api/* - Static frontend files at
/*
Visit your Render URL: https://your-app-name.onrender.com
- Go to Render Dashboard
- Click on your service
- View "Logs" tab
Visit: https://your-app-name.onrender.com/health
Should return:
{
"status": "ok"
}Problem: Docker build fails
Solution: Check Render logs for errors. Common issues:
- Missing dependencies in package.json
- TypeScript compilation errors
- Environment variables not set
Problem: Deployment succeeds but app crashes
Solution:
- Check logs for errors
- Verify
OPENAI_API_KEYis set correctly - Ensure
PORTenvironment variable is set
Problem: Frontend loads but API calls fail
Solution:
- Check OpenAI API key is valid
- Check API key has credits
- Check server logs for errors
Problem: Patterns not loading
Solution:
- Database auto-creates on first run
- Check
server/data/db.jsonexists - Restart the service on Render
- ✅ 750 hours/month
- ✅ Sleeps after 15 mins of inactivity
- ✅ Wakes up on request (30 sec delay)
- ✅ Perfect for demos
- ✅ Always running (no sleep)
- ✅ Faster performance
- ✅ Custom domains
- ✅ Priority support
- Make changes locally
- Commit and push to GitHub:
git add . git commit -m "feat: update hook generator" git push
- Render auto-deploys on push!
- Use environment variables for secrets
- Keep OpenAI API key secure
- Enable HTTPS (automatic on Render)
- Set strong JWT_SECRET
- Commit
.envfiles - Hardcode API keys
- Expose sensitive data in logs
- GitHub repository is public or connected
- OpenAI API key is valid and has credits
- Environment variables are set on Render
- Health check endpoint works
- Build completes successfully
- App is accessible via Render URL
- All features work (Generate, Analyze, Patterns)
- Go to Render Dashboard → Your Service
- Click "Settings"
- Scroll to "Custom Domain"
- Add your domain (e.g.,
hookforge.com) - Update DNS records as instructed
- Automatic! Render provides free SSL
- Your site will be
https://automatically
- View analytics in Render Dashboard
- Set up email alerts for downtime
- Monitor OpenAI API usage
- Render Community: https://community.render.com/
- Render Support: support@render.com
- Check Logs: Always check Render logs first
Once deployed, your futuristic Hook Forge app will be live at:
https://your-app-name.onrender.com
Share it with the world! 🌍✨
Deployment Time: ~10 minutes
Cost: Free tier available
Difficulty: Easy 🟢