SPB Git forge
7commits 1branches 0releases
229.0 KBsize
maindefault branch
12 days agolast push
TypeScript 91.8% HTML 3.2% JavaScript 3% SQL 1.4% CSS 0.7%
4.5 KB · 103 lines json
Raw Blame History
1{2  "app": "social-runtime-crawler",3  "label": "SocialCrawl — Social Runtime Crawler (research console + control plane + browser worker)",4  "domain": "www.socialcrawl.co",5  "port": 8351,6  "health_path": "/access",7  "dir": "~/apps/social-runtime-crawler",8  "extra_paths": [],9  "sync_excludes": [10    "node_modules/",11    ".git/",12    ".env",13    ".env.*",14    "!.env.example",15    "*.tsbuildinfo",16    ".DS_Store",17    ".claude/",18    "data/",19    "apps/dashboard/.next/",20    "apps/dashboard/next-env.d.ts",21    "deploy/"22  ],23  "requires": {24    "runtimes": ["pm2", "node", "pnpm", "postgresql@17"],25    "ram_gb": 8,26    "ports": [8350, 8351]27  },28  "ram_mb_observed": 1500,29  "size_mb": 40,30  "placement": {31    "pin": null,32    "prefer": "M3U96a",33    "avoid": ["M1M32", "M3U96b", "M2U64", "M1M64", "m2m16b", "m1m16", "m2m16c", "m4me", "m4mf", "m4mg", "m4mh", "m1m16b", "m4mi", "m4mj", "m4mk", "m2m8a", "m2m8b"],34    "reason": "Chromium headless par mission (≈1–2 Go chacun) + Postgres 17 local ; nœud LAN avec session graphique pour les logins humains (Partage d'écran) ; M2U64 sans session graphique évité"35  },36  "processes": [37    {38      "name": "socialcrawl-api",39      "manager": "pm2",40      "script": "/opt/homebrew/bin/node",41      "args": ["node_modules/tsx/dist/cli.mjs", "apps/api/src/server.ts"],42      "interpreter": null,43      "cwd": "{{HOME}}/apps/social-runtime-crawler",44      "env": {45        "NODE_ENV": "production",46        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",47        "SRC_DATABASE_URL": "postgres://localhost:5432/social_runtime",48        "SRC_DATA_DIR": "{{HOME}}/apps/social-runtime-crawler/data",49        "SRC_API_PORT": "8350",50        "SRC_API_TOKEN": "e9618b61c36567d8f01beb39218ab3108e8042c438d31ee4",51        "SRC_MAX_JOBS": "2",52        "SRC_HEADLESS": "true",53        "SRC_BROWSER_CHANNEL": "chromium",54        "SRC_LLM_PROVIDER": "none",55        "SRC_LOG_LEVEL": "info",56        "SRC_LOG_PRETTY": "1"57      },58      "cron_restart": null,59      "autorestart": true,60      "max_memory_restart": "1G"61    },62    {63      "name": "socialcrawl-web",64      "manager": "pm2",65      "script": "/opt/homebrew/bin/node",66      "args": ["node_modules/next/dist/bin/next", "start", "-p", "8351", "-H", "0.0.0.0"],67      "interpreter": null,68      "cwd": "{{HOME}}/apps/social-runtime-crawler/apps/dashboard",69      "env": {70        "NODE_ENV": "production",71        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",72        "API_URL": "http://127.0.0.1:8350",73        "SRC_API_TOKEN": "e9618b61c36567d8f01beb39218ab3108e8042c438d31ee4",74        "SRC_DASHBOARD_PASSCODE": "251991",75        "SRC_DASHBOARD_SECRET": "2b150a27dcbcf0cfdfd275cdfc85587bb15e9a29b864845f2a59e424e3e0e332",76        "NEXT_TELEMETRY_DISABLED": "1"77      },78      "cron_restart": null,79      "autorestart": true,80      "max_memory_restart": "1G"81    }82  ],83  "tunnel": {84    "domain": "www.socialcrawl.co",85    "gateway": "BHS64",86    "redirects": ["socialcrawl.co"],87    "websocket": false,88    "note": "SSE (/api/stream) passe par Caddy sans config spéciale ; apex socialcrawl.co n'a pas encore d'enregistrement A (à ajouter chez GoDaddy pour la redirection)"89  },90  "launchd": [],91  "env_overrides": {},92  "hooks": {93    "post_sync": [94      "export PATH=\"/opt/homebrew/bin:$PATH\"; pnpm install --frozen-lockfile --silent && echo '  deps ok'",95      "export PATH=\"/opt/homebrew/bin:$PATH\"; (psql -d postgres -Atc \"select 1 from pg_database where datname='social_runtime'\" | grep -q 1 || createdb social_runtime) && SRC_DATABASE_URL=postgres://localhost:5432/social_runtime pnpm db:migrate 2>&1 | tail -1 && echo '  db ok'",96      "export PATH=\"/opt/homebrew/bin:$PATH\"; pnpm --filter @src/worker exec playwright install chromium 2>&1 | tail -1; echo '  chromium ok'",97      "export PATH=\"/opt/homebrew/bin:$PATH\"; mkdir -p data/browser_profiles data/sessions data/platform_model data/media data/jobs; export NEXT_TELEMETRY_DISABLED=1 API_URL=http://127.0.0.1:8350; pnpm --filter @src/dashboard build 2>&1 | tail -3 && echo '  web build ok'"98    ],99    "post_start": []100  },101  "notes": "v0.1 (2026-09-12) : console de recherche Next 16 (gate par code d'accès SRC_DASHBOARD_PASSCODE, proxy /api → API loopback 8350 avec SRC_API_TOKEN), API de contrôle node:http (missions = processus worker Playwright enfants, SSE /api/stream), Postgres 17 local `social_runtime`. Les profils navigateur authentifiés vivent dans data/browser_profiles sur le nœud : login humain via Partage d'écran + `pnpm login <platform>`. Adaptateurs YouTube + Reddit. Lecture seule."102}103