📌 Purpose & Quick Summary

The App Engine is BoostonCP's multi-runtime application deployment platform. Powered by the enterprise PM2 process manager and edge Nginx reverse proxying, it allows you to run modern dynamic web applications—including Node.js LTS, Next.js SSR/Pro, Python 3 (WSGI/FastAPI/Django), and Ruby (Puma/Rails)—on dedicated local ports (127.0.0.1:$PORT) with automated SSL termination and zero-downtime process management.

BoostonCP App Engine Runtime Catalog

Figure 12: App Engine runtime catalog showing Node.js, Next.js, Python 3, and Ruby deployment options.


🖥️ Interface Tour & Elements

  1. Runtime Explore Catalog: Visual cards representing supported runtimes:
    • Node.js LTS: Express, NestJS, Strapi, Socket.io applications.
    • Next.js Pro: Server-Side Rendered (SSR) React applications.
    • Python 3: Flask, Django, FastAPI WSGI/ASGI applications.
    • Ruby Runtime: Sinatra, Ruby on Rails (Puma) applications.
  2. Deploy Application Modal:
    • App Name: Custom alphanumeric application identifier.
    • Domain Selector: Target domain or subdomain where traffic will be proxied.
    • Port Assignment: Dedicated local port (e.g. 3000, 8000, 8080).
    • App Root Directory: Directory selector to designate the project root.
    • Startup Script: Entrypoint filename (e.g. app.js, server.js, wsgi.py).
    • Environment Variables: Key-value editor for application configuration (PORT, NODE_ENV=production).

🛠️ Step-by-Step Instructions

Step 1: Preparing Your Application Files

  1. Use the File Manager or Git Push-to-Deploy to upload your project files into a folder in your home directory (e.g. /home/user/apps/my-node-app).
  2. If deploying Node.js, ensure your dependencies are installed (npm install).

Step 2: Deploying via App Engine

  1. In the sidebar, click App Engine (icon: fa-microchip).
  2. On the Node.js LTS or Next.js card, click Setup Node (or Setup Next).
  3. In the deployment modal:
    • App Name: Enter my-api.
    • Domain: Select your domain from the dropdown (e.g. api.yourdomain.com).
    • Port: Enter an unassigned port (e.g. 3005).
    • App Root: Click Browse and select /apps/my-node-app.
    • Startup Script: Enter server.js.
    • Environment Variables: Add NODE_ENV=production.
  4. Click Deploy Application.
BoostonCP App Engine Deployment Modal

Figure 12.1: App Engine deployment modal configuring app name, domain proxy, port, and startup script.

  1. BoostonCP registers the process under PM2, compiles the Host Nginx reverse proxy configuration (proxy_pass http://127.0.0.1:3005), and reloads listeners with zero downtime.

⚙️ Complete Field & Parameter Reference Table

Parameter Required Example Operational Significance
App Name Yes store-backend Unique PM2 process identifier in the process table.
Domain Yes store.domain.com Host Nginx reverse proxy routes traffic for this domain directly to the app port.
App Port Yes 3000 - 9999 Local TCP port where your application listens (127.0.0.1).
App Root Yes /apps/store Working directory where PM2 launches the process (cwd).
Startup File Yes app.js / wsgi.py Primary execution entrypoint file executed by the runtime.
Environment Optional KEY=VALUE Injected environment variables available to runtime processes.

❓ Troubleshooting & Common Errors

1. App Status Shows "Errored / Restarting"

  • Cause: Syntax error in the startup script or missing dependencies (node_modules).
  • Solution: Click the View Logs button in the Installed tab. Inspect the real-time stderr output to identify the exact missing module or syntax error.

2. Browser Returns "502 Bad Gateway"

  • Cause: The application is not listening on the exact port specified in the App Engine modal, or crashed immediately after startup.
  • Solution: Ensure your code uses process.env.PORT or explicitly listens on 127.0.0.1:$PORT.