- Panel uninstall reads .env to find DB driver/name/user
- Prompts to drop MySQL/MariaDB/PostgreSQL database and user
- Falls back gracefully if DB client not found or root auth fails
- Cleans up Caddy config blocks for panel and wings
- Wings uninstall offers to remove Let's Encrypt certs
- Better web server restart after removing configs
NEW — Every /installer wizard field is now a CLI flag:
--cache-driver (file|redis)
--redis-host, --redis-port, --redis-user, --redis-password
--session-driver (file|database|cookie|redis)
--queue-driver (database|redis|sync)
--app-name
--admin-email, --admin-user, --admin-pass (skip web installer entirely)
NEW — Redis auto-install:
When cache/session/queue uses redis + host is localhost → installs redis-server
Configures redis password if provided
Installs php-redis extension alongside other PHP extensions
NEW — Wings reverse proxy for all 3 web servers:
--wings-domain, --wings-port, --wings-proxy, --wings-ssl
Nginx: full config with websocket upgrade for console/file manager
Apache: mod_proxy + mod_proxy_wstunnel + RewriteEngine for WS
Caddy: reverse_proxy with flush_interval -1 for websockets
SSL certs obtained for both panel + wings domains in one pass
Post-install instructions tell user to set api.ssl.enabled: false
NEW — Admin user auto-creation:
If --admin-email/user/pass are all set, creates user via artisan tinker
Sets APP_INSTALLED=true so /installer redirects to dashboard
Shows admin credentials in green box
IMPROVED — Interactive menus now ask for all options:
App name, cache driver, session driver, queue driver
Redis connection details when redis is selected
Wings proxy setup during wings install
Admin user creation (optional, can still use web installer)
Health checks now verify: CACHE_STORE, SESSION_DRIVER, QUEUE_CONNECTION in .env
Health checks now verify: Redis running (when redis driver selected)
CRITICAL FIXES:
- Actually writes DB credentials to .env (was missing entirely!)
- Runs 'php artisan migrate --seed --force' on fresh install
- Configures pg_hba.conf for PostgreSQL password auth over TCP
- Uses chmod 775 (not 755) on storage directories
- Generates APP_KEY via 'php artisan key:generate'
- Creates storage subdirectories before setting permissions
- Sets PHP-FPM pool user to match web server user
NEW FEATURES:
- Full CLI flag support (--panel, --wings, --domain, --database, etc.)
- Environment variable overrides for all settings
- Non-interactive mode (--yes / -y) for fully automated installs
- Step progress indicator [X/Y] throughout install
- Database credentials displayed in visible green box
- APP_KEY shown in red warning box
- Input validation for FQDN
- Interactive DB credential customization
- HTTP connectivity health check
- Artisan CLI health check
- Smart defaults (auto-detect DB port, auto-generate passwords)
UI IMPROVEMENTS:
- Menus start at [1] instead of [0]
- Credential boxes use visible colored borders
- help text with usage examples
- Cleaner step/section separators