{"id":"697cd738477750fae1691126","title":"2026 01 30","path":"how-to/committee/release-notes/2026-01-30","contentMarkdown":"# 30-Jan-2026 — Environment-setup: automated environment creation and CLI enhancements [#146](https://github.com/nbarrett/ngx-ramblers/issues/146)\n\n## [build 452](https://github.com/nbarrett/ngx-ramblers/actions/runs/21521865466) — [commit b330b7b](https://github.com/nbarrett/ngx-ramblers/commit/b330b7b87430bf4a1151a8ea97cf058ead93065b)\n\n  _____\n\n**New Features for Users:**\n\n**Environment Setup (Web UI)**\n\nThe new Environment Setup page (Admin > Environment Setup) allows administrators to create complete NGX-Ramblers environments for new Ramblers walking groups through a guided wizard:\n\n1. Enter your Ramblers API key and select your walking group\n2. Configure external services (MongoDB, AWS, Brevo email, maps)\n3. Set up an admin user account\n4. Deploy to fly.io with one click\n\nThe wizard handles all infrastructure provisioning automatically including:\n- Cloud database setup and configuration\n- File storage (AWS S3) with secure credentials\n- Application deployment to fly.io\n- Sample content and admin menu setup\n- Optional standard assets (logos, icons, backgrounds) copied to S3\n\n### Command Line Interface (CLI)\n\nA 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\"\n\n**Quick start:**\n\n  ```bash\n  npm run cli -- <command>           # Run from project root\n  npm link && ngx-cli <command>      # Or install globally (optional)\n\n  Common commands:\n\n  ngx-cli l dev my-group             # Start local development\n  ngx-cli l list                     # List available environments\n  ngx-cli db seed my-group --fresh   # Fresh database seed with migrations\n  ngx-cli db seed my-group --sync    # Seed and sync walks from Ramblers API\n  ngx-cli f deploy my-group          # Deploy to fly.io\n  ngx-cli des my-group               # Destroy environment completely\n  ngx-cli bak create my-group        # Backup an environment\n  ngx-cli bak restore my-group       # Restore from backup\n\n  Interactive mode: Run commands without arguments to get a selection menu. Use arrow keys to navigate, ESC to go back, q to quit.\n```\n---\n#### Technical Changes:\n\nCLI Implementation:\n- Add command aliases (env, db, val, des, l, f, a, bak)\n- Add positional arguments instead of --name options\n- Add interactive navigation with inquirer.js\n- Add port availability checking for local dev\n- Run migrations automatically after database seeding\n- Add backup/restore commands (bak create, bak restore, bak list)\n\n#### Database & Migrations:\n- Add Duplicate Page Content and Venue Settings to admin menu\n- Add showPlaceholderImage to walks action buttons\n- Include all 23 production admin menu items in migrations\n\n#### Environment Setup Service:\n- Integrate with Ramblers API for group validation\n- Automate AWS S3/IAM resource creation\n- Automate fly.io deployment with secrets\n- Create database config templates for new groups\n- Add WebSocket progress feedback for real-time step updates\n- Add copyStandardAssets option to seed S3 with logos/icons/backgrounds\n- Add OS Maps and reCAPTCHA defaults from environment variables\n- Add detailed MongoDB connection error messages with suggestions\n- Add ENVIRONMENT_SETUP_ENABLED env var to control UI access","contentHtml":"<h1>30-Jan-2026 — Environment-setup: automated environment creation and CLI enhancements <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/146\">#146</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/21521865466\">build 452</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/b330b7b87430bf4a1151a8ea97cf058ead93065b\">commit b330b7b</a></h2>\n<hr>\n<p><strong>New Features for Users:</strong></p>\n<p><strong>Environment Setup (Web UI)</strong></p>\n<p>The new Environment Setup page (Admin &gt; Environment Setup) allows administrators to create complete NGX-Ramblers environments for new Ramblers walking groups through a guided wizard:</p>\n<ol>\n<li>Enter your Ramblers API key and select your walking group</li>\n<li>Configure external services (MongoDB, AWS, Brevo email, maps)</li>\n<li>Set up an admin user account</li>\n<li>Deploy to fly.io with one click</li>\n</ol>\n<p>The wizard handles all infrastructure provisioning automatically including:</p>\n<ul>\n<li>Cloud database setup and configuration</li>\n<li>File storage (AWS S3) with secure credentials</li>\n<li>Application deployment to fly.io</li>\n<li>Sample content and admin menu setup</li>\n<li>Optional standard assets (logos, icons, backgrounds) copied to S3</li>\n</ul>\n<h3>Command Line Interface (CLI)</h3>\n<p>A new CLI tool is available for power users and automation. See the full reference guide at: Admin &gt; How-To &gt; Technical Documents &gt; &quot;NGX Ramblers CLI Reference Guide&quot;</p>\n<p><strong>Quick start:</strong></p>\n<pre><code class=\"language-bash\">npm run cli -- &lt;command&gt;           # Run from project root\nnpm link &amp;&amp; ngx-cli &lt;command&gt;      # Or install globally (optional)\n\nCommon commands:\n\nngx-cli l dev my-group             # Start local development\nngx-cli l list                     # List available environments\nngx-cli db seed my-group --fresh   # Fresh database seed with migrations\nngx-cli db seed my-group --sync    # Seed and sync walks from Ramblers API\nngx-cli f deploy my-group          # Deploy to fly.io\nngx-cli des my-group               # Destroy environment completely\nngx-cli bak create my-group        # Backup an environment\nngx-cli bak restore my-group       # Restore from backup\n\nInteractive mode: Run commands without arguments to get a selection menu. Use arrow keys to navigate, ESC to go back, q to quit.\n</code></pre>\n<hr>\n<h4>Technical Changes:</h4>\n<p>CLI Implementation:</p>\n<ul>\n<li>Add command aliases (env, db, val, des, l, f, a, bak)</li>\n<li>Add positional arguments instead of --name options</li>\n<li>Add interactive navigation with inquirer.js</li>\n<li>Add port availability checking for local dev</li>\n<li>Run migrations automatically after database seeding</li>\n<li>Add backup/restore commands (bak create, bak restore, bak list)</li>\n</ul>\n<h4>Database &amp; Migrations:</h4>\n<ul>\n<li>Add Duplicate Page Content and Venue Settings to admin menu</li>\n<li>Add showPlaceholderImage to walks action buttons</li>\n<li>Include all 23 production admin menu items in migrations</li>\n</ul>\n<h4>Environment Setup Service:</h4>\n<ul>\n<li>Integrate with Ramblers API for group validation</li>\n<li>Automate AWS S3/IAM resource creation</li>\n<li>Automate fly.io deployment with secrets</li>\n<li>Create database config templates for new groups</li>\n<li>Add WebSocket progress feedback for real-time step updates</li>\n<li>Add copyStandardAssets option to seed S3 with logos/icons/backgrounds</li>\n<li>Add OS Maps and reCAPTCHA defaults from environment variables</li>\n<li>Add detailed MongoDB connection error messages with suggestions</li>\n<li>Add ENVIRONMENT_SETUP_ENABLED env var to control UI access</li>\n</ul>\n"}