← back to Charge And Explore

ecosystem.config.cjs

26 lines

// pm2 config. Node runs the .ts entry directly (native type-stripping, >=22).
module.exports = {
  apps: [
    {
      name: "charge-and-explore",
      script: "backend/src/server.ts",
      interpreter: "node",
      env: {
        PORT: 9820,
        NODE_ENV: "production",
        // Sign in with Apple — non-secret identifiers (the private key is the
        // gitignored keys/AuthKey_MPB4A9S5JZ.p8 file, read at runtime).
        APPLE_KEY_ID: "MPB4A9S5JZ",
        APPLE_SERVICES_ID: "com.abrams.chargeandexplore.signin",
        APPLE_TEAM_ID: "3VAV3KMNZK",
        // Force the registered (agentabrams) return URL regardless of request
        // host — the .com host produces an unregistered redirect_uri Apple rejects.
        // Mirrors the Google flow (callback rides agentabrams, then hops to .com).
        APPLE_REDIRECT_URI: "https://chargeandexplore.agentabrams.com/auth/apple/callback",
      },
      max_restarts: 10,
      time: true,
    },
  ],
};