Ignite is the fastest way to launch battle-tested Laravel environments on AWS EC2.
One command. Full stack. Zero config.
Built with precision by SystemPath
Ignite isn't just another provisioning script. It's a complete, production-grade Laravel development environment that deploys in minutes—not hours.
- 🚀 One-Command Deploy – Paste a single line into EC2 user data and walk away
- 🏗️ Battle-Tested Stack – Laravel 11, Inertia, React, PostgreSQL 17, Redis, Nginx
- 🔐 Security First – SSH hardening, UFW firewall, Fail2ban, automatic SSL with Let's Encrypt
- 🛠️ 20+ Helper Commands –
deploy
,fresh
,vdev
, and more for instant productivity - 📦 Smart Package Selection – Stripe, AWS SDK, Spatie suite, TypeScript transformers—pre-configured
- 🎯 Modular & Hackable – Don't like our choices? Fork it, customize it, rebuild it
Paste this as User Data when launching an Ubuntu EC2 instance:
#!/bin/bash
curl -fsSL https://raw.githubusercontent.com/systempath/ignite/main/dist/ec2-userdata.sh | bash
That's it. SSH in 5 minutes later to a fully configured Laravel environment.
Already have an Ubuntu server? Run this:
curl -fsSL https://raw.githubusercontent.com/systempath/ignite/main/dist/ec2-userdata.sh | sudo bash
Want to tweak the stack? Fork and modify:
git clone https://github.com/systempath/ignite.git
cd ignite
# Edit config/variables.sh or modules/ as needed
bin/build-userdata
# Deploy your custom dist/ec2-userdata.sh
Component | Version | Purpose |
---|---|---|
Nginx | Latest | High-performance web server |
PHP-FPM | 8.4 | Modern PHP with opcache & JIT |
Node.js | 22 (via NVM) | JavaScript runtime for Vite/React |
PostgreSQL | 17 | Powerful relational database |
Redis | Latest | Fast caching & session store |
pnpm | Latest | Fast, disk-efficient package manager |
Composer | Latest | PHP dependency manager |
- UFW Firewall – Ports 22, 80, 443, 8025, 8080 only
- Fail2ban – Automatic SSH intrusion prevention
- SSH Hardening – Key-only auth, no root login
- Let's Encrypt – Automatic SSL with
setup-ssl
command - Claude Code CLI – AI-powered development assistant
deploy
– Full deployment pipeline (migrate, build, optimize)fresh
– Quick rebuild without migrationsvdev
– Start Vite dev server with HMRgkey
– Display GitHub deploy keysetup-ssl
– Configure Let's Encrypt SSLbackup-database
– Manual PostgreSQL backuptscope
– Laravel Telescope dashboard infomailpit
– Email testing interface info
When you run setup-laravel
, you get a complete Laravel 11 application with:
🎯 Core Framework
🔍 Development & Debugging
💳 Payment Processing
☁️ AWS Integration
|
🎭 Type Safety & Data
👥 Users & Permissions
📊 Audit & Logging
📁 Media & Documents
|
Ignite uses a modular build system that compiles separate components into a single deployment script:
ignite/
├── modules/ # Ordered setup phases (00-system-prep → 999-finalize)
├── templates/ # Config files & helper scripts (base64-encoded)
├── config/ # Version defaults & build utilities
├── bin/ # Build script
└── dist/ # Generated ec2-userdata.sh (don't edit directly)
Key principle: Edit sources in modules/
and templates/
, never the generated dist/
file.
Contributing or customizing? Follow this workflow:
- Edit – Modify modules in
modules/
or files intemplates/
- Build – Run
bin/build-userdata
to regeneratedist/ec2-userdata.sh
- Validate – Syntax check with
bash -n dist/ec2-userdata.sh
- Test – Deploy to disposable EC2, monitor
/var/log/userdata.log
- Commit – Commit source changes, not generated files
export PHP_VERSION=8.3
export NODE_VERSION=20
export POSTGRES_VERSION=16
export LARAVEL_AUTO_SETUP=false # Skip automatic Laravel setup
bin/build-userdata
export USERDATA_URL="https://your-domain.com/custom-userdata.sh"
curl -fsSL https://raw.githubusercontent.com/systempath/ignite/main/aws-ec2-user-data-downloader.sh | bash
- ⛔ Never run locally – Script assumes Ubuntu EC2 with root privileges
- 📝 Commit sources only – Commit changes to
modules/
andtemplates/
, notdist/
- 🔑 Git setup – Run
gkey
after provisioning to configure git identity - 📚 Learn the helpers – Run
server-help
orshelp
to see all available commands - 🔍 Monitor setup – Watch progress with
tail -f /var/log/userdata.log
Found a bug? Have a feature request? Open an issue.
Want to contribute? PRs welcome! Please read our development workflow above.
SystemPath • Building tools that ship faster
© 2025 SystemPath. All rights reserved.