Files
task-team/ecosystem.config.js
Claude CLI Agent d74c89255e PM2 cluster deploy + Redis caching + Nginx gzip + UI polish
- PM2 v6: 2x API cluster + 1x web, zero-downtime reload
- Redis cache: 30s TTL on GET /tasks, X-Cache header
- Nginx gzip compression
- Mobile touch targets 44px
- Czech diacritics throughout UI
- TaskModal slide-up animation
- StatusBadge color dots
- GroupSelector emoji icons

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 11:20:58 +00:00

42 lines
1.3 KiB
JavaScript

module.exports = {
apps: [
{
name: "taskteam-api",
script: "api/src/index.js",
cwd: "/opt/task-team",
instances: 2,
exec_mode: "cluster",
env: {
NODE_ENV: "production",
PORT: 3000,
DATABASE_URL: "postgresql://taskteam:TaskTeam2026!@10.10.10.10:5432/taskteam",
REDIS_URL: "redis://:Redis2026!@10.10.10.10:6379",
JWT_SECRET: "taskteam-jwt-secret-2026-secure-key",
ANTHROPIC_API_KEY: "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",
NOTION_API_KEY: "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",
NOTION_TASKS_DB: "659a5381-564a-453a-9e2b-1345c457cca9"
},
max_memory_restart: "500M",
watch: false,
merge_logs: true,
log_date_format: "YYYY-MM-DD HH:mm:ss Z"
},
{
name: "taskteam-web",
script: "node_modules/.bin/next",
args: "start -p 3001",
cwd: "/opt/task-team/apps/tasks",
instances: 1,
exec_mode: "fork",
env: {
NODE_ENV: "production",
NEXT_PUBLIC_API_URL: "http://localhost:3000"
},
max_memory_restart: "500M",
watch: false,
merge_logs: true,
log_date_format: "YYYY-MM-DD HH:mm:ss Z"
}
]
};