Generated on: 2025-06-28
| Variable | Status | Type | Production Value |
|---|---|---|---|
DATABASE_URL |
✅ Set | Secret | Neon PostgreSQL connection |
BETTER_AUTH_SECRET |
✅ Set | Secret | Authentication encryption key |
NODE_ENV |
✅ Set | Config | production |
BASE_URL |
✅ Set | Config | https://vtchat.io.vn |
BETTER_AUTH_URL |
✅ Set | Config | https://vtchat.io.vn |
NEXT_PUBLIC_BASE_URL |
✅ Set | Config | https://vtchat.io.vn |
NEXT_PUBLIC_APP_URL |
✅ Set | Config | https://vtchat.io.vn |
NEXT_PUBLIC_COMMON_URL |
✅ Set | Config | https://vtchat.io.vn |
NEXT_PUBLIC_BETTER_AUTH_URL |
✅ Set | Config | https://vtchat.io.vn |
| Variable | Status | Type | Production Value |
|---|---|---|---|
CREEM_API_KEY |
✅ Set | Secret | Live API key configured |
CREEM_PRODUCT_ID |
✅ Set | Config | Production product ID |
CREEM_WEBHOOK_SECRET |
✅ Set | Secret | Webhook verification |
CREEM_ENVIRONMENT |
✅ Set | Config | production |
VT_PLUS_PRICE |
✅ Set | Config | Pricing configuration |
| Variable | Status | Type | Production Value |
|---|---|---|---|
GITHUB_CLIENT_ID |
✅ Set | Config | GitHub OAuth app ID |
GITHUB_CLIENT_SECRET |
✅ Set | Secret | GitHub OAuth secret |
GOOGLE_CLIENT_ID |
✅ Set | Config | Google OAuth app ID |
GOOGLE_CLIENT_SECRET |
✅ Set | Secret | Google OAuth secret |
| Variable | Status | Type | Production Value |
|---|---|---|---|
GEMINI_API_KEY |
✅ Set | Secret | Google Gemini API access |
LOG_LEVEL |
✅ Set | Config | Production logging level |
| Variable | Status | Type | Impact |
|---|---|---|---|
OPENAI_API_KEY |
❌ Not Set | Secret | OpenAI models unavailable |
JINA_API_KEY |
❌ Not Set | Secret | Jina embedding unavailable |
NEXT_PUBLIC_HOTJAR_SITE_ID |
❌ Not Set | Config | No user analytics |
NEXT_PUBLIC_HOTJAR_VERSION |
❌ Not Set | Config | No user analytics |
NEXT_PUBLIC_SENTRY_DSN |
❌ Not Set | Config | No error monitoring |
| Variable | Status | Type | Production Value |
|---|---|---|---|
PRODUCT_NAME |
✅ Set | Config | VT Chat |
PRODUCT_DESCRIPTION |
✅ Set | Config | AI-powered chat application |
PRICING_CURRENCY |
✅ Set | Config | USD |
PRICING_INTERVAL |
✅ Set | Config | month |
app = 'vtchat'
primary_region = 'sin'Resource Allocation:
- Memory: 2GB
- CPUs: 2 (shared)
- Min Machines: 1 (always running)
- Auto-scaling: suspend/resume enabled
Health Checks:
- ✅ Path:
/api/health - ✅ Interval: 30s
- ✅ Timeout: 5s
- ✅ Grace period: 10s
Security:
- ✅ HTTPS enforcement enabled
- ✅ Internal port: 3000
app = 'vtchat-dev'
primary_region = 'sin'Resource Allocation:
- Memory: 1GB
- CPUs: 1 (shared)
- Min Machines: 0 (cost-optimized)
- Auto-scaling: stop/start enabled
All sensitive variables properly stored as Fly.io secrets:
- Authentication secrets (BETTER_AUTH_SECRET)
- Database credentials (DATABASE_URL)
- API keys (CREEM_API_KEY, GEMINI_API_KEY, etc.)
- OAuth credentials (GITHUB_CLIENT_SECRET, GOOGLE_CLIENT_SECRET)
- Production:
vtchatapp with production values - Development:
vtchat-devapp with sandbox values - Environment Detection: Proper NODE_ENV configuration
- Force HTTPS enabled in both environments
- Health check endpoint properly configured
- No secrets exposed in configuration files
Domain: vtchat.io.vn
- Status: Certificate awaiting DNS configuration
- Provider: matbao
- Required Action: Add CNAME record pointing to
vtchat.fly.dev
- IPv4: 66.241.124.157 (shared)
- IPv6: 2a09:8280:1::81:951:0 (dedicated)
Production App (vtchat):
- ✅ Running in
sinregion - ✅ Health checks passing (1 total, 1 passing)
- ✅ Latest deployment active
- Health endpoint:
/api/health - Status: ✅ Responding correctly
- Response format: JSON with timestamp
- Sentry: Not configured (optional error tracking)
- Hotjar: Not configured (optional user analytics)
- Custom metrics: Available via Fly.io dashboard
- Configure DNS for vtchat.io.vn
Add CNAME record: vtchat.io.vn → vtchat.fly.dev
-
Add Error Monitoring
# Add Sentry DSN for production error tracking fly secrets set NEXT_PUBLIC_SENTRY_DSN="your-sentry-dsn" --app vtchat
-
Add User Analytics
# Add Hotjar for user behavior tracking fly secrets set NEXT_PUBLIC_HOTJAR_SITE_ID="your-site-id" --app vtchat fly secrets set NEXT_PUBLIC_HOTJAR_VERSION="6" --app vtchat
-
Additional AI Providers
# Optional: Add OpenAI for additional model options fly secrets set OPENAI_API_KEY="your-openai-key" --app vtchat
-
Monitor Resource Usage
- Check Fly.io metrics dashboard
- Monitor memory/CPU usage patterns
- Adjust machine specs if needed
-
Regular Security Updates
- Rotate secrets periodically
- Update dependencies regularly
- Monitor security advisories
- Environment Variables: All required variables configured
- Secrets Management: All secrets properly stored
- Database: PostgreSQL connection working
- Authentication: OAuth providers configured
- Payment: Creem.io production integration
- Health Checks: Endpoint responding correctly
- HTTPS: SSL/TLS properly configured
- Resource Allocation: Appropriate for production load
- Application Deployment: Latest version deployed successfully
- Custom Domain: DNS configuration pending
- Error Monitoring: Optional Sentry integration
- Analytics: Optional Hotjar integration
The application is production-ready with only DNS configuration remaining for custom domain.
- Configure DNS CNAME record for vtchat.io.vn
- Add error monitoring (Sentry)
- Add user analytics (Hotjar)
- Add additional AI providers (OpenAI)
Report generated by production configuration verification system