← 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,
},
],
};