Generate production-ready Nginx configurations with AI-powered performance profiles and framework presets
Why? nginxconf-wizard exists to make self-hosting safer and cheaper by reducing the fear around web-server configuration. It starts with Nginx, but the long-term goal is a guided configuration and analysis layer for web servers in general.
nginxconf-wizard currently provides a working Nginx-focused CLI for generating and improving web-server configurations.
Implemented so far:
- Interactive CLI wizard
- Core Nginx configuration generation
- SSL/TLS configuration support
- Reverse proxy support
- Framework presets
- Security headers and rate limiting
- Performance profiles
- Nginx configuration testing with enhanced error reporting
nginxconf-wizard starts with Nginx, but the long-term goal is to become a guided configuration, validation, and analysis layer for web servers in general.
- Expand generated config test fixtures
- Add CI checks for generated configs
- Improve validation and error messages
- Add config diff previews before applying updates
- Add backup and rollback workflows
- Improve log analysis recommendations
- Add benchmark-driven tuning for tools like wrk, ApacheBench, and k6
- Detect slow routes, upstream failures, and risky traffic patterns
- Generate safer performance recommendations based on real server behavior
- Build agentic configuration analysis for hidden interactions between settings
- Combine AI reasoning with deterministic safety checks
- Validate suggestions before recommending changes
- Detect risky combinations involving caching, proxying, headers, TLS, buffers, and timeouts
- Add support beyond Nginx through a server adapter system
- Explore support for Caddy, Apache, Traefik, HAProxy, and OpenResty
- Add a plugin system for community presets, validation rules, and server backends
|
|
npm install -g nginxconf-wizardgit clone https://github.com/trfhgx/nginxconf-wizard.git
cd nginxconf-wizard
npm install
npm linknginxconf-wizard --versionnginxconf-wizardFollow the prompts to generate your first configuration!
# Next.js Application
nginxconf-wizard generate --preset nextjs --profile api-gateway
# React SPA with API
nginxconf-wizard generate --preset react-spa
# WordPress Site
nginxconf-wizard generate --preset wordpress --profile high-trafficnginxconf-wizard validate nginx.confnginxconf-wizard generate [options]| Option | Description | Example |
|---|---|---|
--preset <name> |
Framework preset | --preset nextjs |
--profile <name> |
Performance profile | --profile high-traffic |
--output <file> |
Output file | --output my-nginx.conf |
nextjs- Next.js applicationsreact-spa- React Single Page Appswordpress- WordPress siteslaravel- Laravel applicationsstatic-html- Static websitesfastapi- FastAPI backends
balanced- Default settingshigh-traffic- 2048+ connectionslow-resource- Constrained environmentscdn-origin- Behind Cloudflareapi-gateway- High upstream connections
# Update existing configuration
nginxconf-wizard update --auto-apply
# Analyze logs for insights
nginxconf-wizard analyze-logs /var/log/nginx/access.log
# Benchmark analysis
nginxconf-wizard analyze-benchmark results.txt --apply
# Test configuration
nginxconf-wizard test nginx.confWe welcome contributions! Please see our Contributing Guide.
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'feat: add amazing feature' - Push:
git push origin feature/amazing-feature - Open Pull Request
- ESLint configuration
- Jest test coverage
- Prettier formatting
- Conventional commits
- Node.js: 18.0.0 or higher
- Nginx: 1.18.0 or higher (optional, for testing)
- Documentation
- Issue Tracker ALso checkout
- Troubleshoot
- Roadmap
This project is licensed under the MIT License - see the LICENSE file.
Made with love for the Nginx community