This document explains the Netlify deployment setup for SVMSeek Wallet.
SVMSeek Wallet is automatically deployed to Netlify with the following configuration:
- Production URL: https://wallet.cryptocurrencies.ai
- Deployment: Automatic on push to
mainbranch - Preview Deployments: Automatic for pull requests
netlify.toml- Main Netlify configuration with build settings, redirects, and security headers.env.netlify- Environment variables specific to Netlify buildsnetlify.json- Build plugins and processing configurationscripts/build-netlify.sh- Optimized build script for Netlify deployment
.github/workflows/netlify-deploy.yml- Automated deployment workflow
The build process uses different commands based on the deployment context:
- Production (
mainbranch): UsesbuildMastercommand - Development (
developbranch): Uses standardbuildcommand - Pull Requests: Uses standard
buildcommand for previews
The Netlify build includes several optimizations:
- Bundle Analysis: Automatic bundle size analysis and reporting
- Security Checks: Removes sensitive files from build output
- Performance Monitoring: Lighthouse CI integration for performance audits
- Caching: Optimized cache headers for static assets
Set the following environment variables in your Netlify dashboard:
NETLIFY_SITE_ID- Your Netlify site IDNETLIFY_AUTH_TOKEN- Your Netlify authentication token
REACT_APP_SOLANA_RPC_URL- Custom Solana RPC endpointREACT_APP_ENABLE_AI_CHAT- Enable/disable AI chat featuresREACT_APP_ENABLE_EXPLORER- Enable/disable blockchain explorer
The deployment includes several security enhancements:
- Content Security Policy (CSP): Restrictive CSP headers for wallet security
- Security Headers: X-Frame-Options, X-Content-Type-Options, etc.
- HTTPS Enforcement: Automatic HTTPS redirects
- Permission Policies: Restricted browser permissions
- Static Asset Caching: Long-term caching for immutable assets
- Gzip Compression: Automatic compression for all text assets
- Bundle Splitting: Optimized code splitting for faster loading
- Image Optimization: Automatic image compression
- Automatic bundle size tracking
- Performance audits via Lighthouse CI
- Build time monitoring
- Error reporting and alerting
- Build success/failure notifications
- Preview URL generation for pull requests
- Deployment status in GitHub
To deploy manually using Netlify CLI:
# Install Netlify CLI
npm install -g netlify-cli
# Login to Netlify
netlify login
# Build the application
./scripts/build-netlify.sh
# Deploy to production
netlify deploy --prod --dir=build
# Deploy preview
netlify deploy --dir=build- Build Failures: Check the build logs in Netlify dashboard
- Environment Variables: Ensure all required variables are set
- Bundle Size: Monitor bundle size - large bundles may cause deployment failures
- Security Headers: CSP issues may prevent certain external resources from loading
- Check Netlify build logs for specific error messages
- Test build locally using
./scripts/build-netlify.sh - Verify environment variables in Netlify dashboard
- Check GitHub Actions logs for deployment pipeline issues
The wallet is configured to be served from wallet.cryptocurrencies.ai. To change this:
- Update the
CNAMEfile in thepublic/directory - Update URLs in
netlify.tomlsecurity headers - Configure DNS settings to point to Netlify
- Update environment variables if needed
For deployment issues:
- Check Netlify documentation
- Review build logs in Netlify dashboard
- Check GitHub Actions workflow results
- Verify all environment variables are properly set