30-Jan-2026 — Environment-setup: automated environment creation and CLI enhancements #146
build 452 — commit b330b7b
New Features for Users:
Environment Setup (Web UI)
The new Environment Setup page (Admin > Environment Setup) allows administrators to create complete NGX-Ramblers environments for new Ramblers walking groups through a guided wizard:
- Enter your Ramblers API key and select your walking group
- Configure external services (MongoDB, AWS, Brevo email, maps)
- Set up an admin user account
- Deploy to fly.io with one click
The wizard handles all infrastructure provisioning automatically including:
- Cloud database setup and configuration
- File storage (AWS S3) with secure credentials
- Application deployment to fly.io
- Sample content and admin menu setup
- Optional standard assets (logos, icons, backgrounds) copied to S3
Command Line Interface (CLI)
A new CLI tool is available for power users and automation. See the full reference guide at: Admin > How-To > Technical Documents > "NGX Ramblers CLI Reference Guide"
Quick start:
npm run cli -- <command> # Run from project root
npm link && ngx-cli <command> # Or install globally (optional)
Common commands:
ngx-cli l dev my-group # Start local development
ngx-cli l list # List available environments
ngx-cli db seed my-group --fresh # Fresh database seed with migrations
ngx-cli db seed my-group --sync # Seed and sync walks from Ramblers API
ngx-cli f deploy my-group # Deploy to fly.io
ngx-cli des my-group # Destroy environment completely
ngx-cli bak create my-group # Backup an environment
ngx-cli bak restore my-group # Restore from backup
Interactive mode: Run commands without arguments to get a selection menu. Use arrow keys to navigate, ESC to go back, q to quit.
Technical Changes:
CLI Implementation:
- Add command aliases (env, db, val, des, l, f, a, bak)
- Add positional arguments instead of --name options
- Add interactive navigation with inquirer.js
- Add port availability checking for local dev
- Run migrations automatically after database seeding
- Add backup/restore commands (bak create, bak restore, bak list)
Database & Migrations:
- Add Duplicate Page Content and Venue Settings to admin menu
- Add showPlaceholderImage to walks action buttons
- Include all 23 production admin menu items in migrations
Environment Setup Service:
- Integrate with Ramblers API for group validation
- Automate AWS S3/IAM resource creation
- Automate fly.io deployment with secrets
- Create database config templates for new groups
- Add WebSocket progress feedback for real-time step updates
- Add copyStandardAssets option to seed S3 with logos/icons/backgrounds
- Add OS Maps and reCAPTCHA defaults from environment variables
- Add detailed MongoDB connection error messages with suggestions
- Add ENVIRONMENT_SETUP_ENABLED env var to control UI access