# 30-Jan-2026 — Environment-setup: automated environment creation and CLI enhancements [#146](https://github.com/nbarrett/ngx-ramblers/issues/146)

## [build 452](https://github.com/nbarrett/ngx-ramblers/actions/runs/21521865466) — [commit b330b7b](https://github.com/nbarrett/ngx-ramblers/commit/b330b7b87430bf4a1151a8ea97cf058ead93065b)

  _____

**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:

1. Enter your Ramblers API key and select your walking group
2. Configure external services (MongoDB, AWS, Brevo email, maps)
3. Set up an admin user account
4. 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:**

  ```bash
  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