SPB Git
3.7 KB · 111 lines json
1{2  "app": "tools-spboucher-ai",3  "label": "Tools · SPBoucher — curated tool encyclopedia (tools.spboucher.ai)",4  "domain": "tools.spboucher.ai",5  "port": 8540,6  "health_path": "/api/health",7  "dir": "~/apps/tools-spboucher-ai",8  "extra_paths": [],9  "sync_excludes": [10    ".git/",11    ".DS_Store",12    "node_modules/",13    ".next/",14    "backups/",15    "exports/*.json",16    "exports/*.csv",17    ".env",18    ".env.*",19    "test-results/",20    "playwright-report/",21    "tsconfig.tsbuildinfo",22    "docs/_a11y-results.json"23  ],24  "requires": {25    "runtimes": [26      "node",27      "pnpm",28      "pm2",29      "postgresql@17"30    ],31    "ram_gb": 3,32    "ports": [33      854034    ]35  },36  "ram_mb_observed": 600,37  "size_mb": 30,38  "placement": {39    "pin": "M2M32c",40    "prefer": "M2M32c",41    "avoid": [42      "M1M32"43    ],44    "reason": "Idle node (0 PM2 processes) with PostgreSQL 17.11 + pgvector 0.8.6 (DB tools_spboucher, roles tools_app/tools_reader), 417 GB SSD, wg1 10.67.0.20"45  },46  "processes": [47    {48      "name": "tools-web",49      "manager": "pm2",50      "script": "/opt/homebrew/bin/node",51      "args": [52        "node_modules/next/dist/bin/next",53        "start",54        "-p",55        "8540",56        "-H",57        "0.0.0.0"58      ],59      "interpreter": null,60      "cwd": "{{HOME}}/apps/tools-spboucher-ai",61      "env": {62        "NODE_ENV": "production",63        "PORT": "8540",64        "NEXT_TELEMETRY_DISABLED": "1"65      },66      "cron_restart": null,67      "autorestart": true,68      "max_memory_restart": "1500M"69    },70    {71      "name": "tools-worker",72      "manager": "pm2",73      "script": "/opt/homebrew/bin/node",74      "args": [75        "node_modules/tsx/dist/cli.mjs",76        "src/worker/index.ts"77      ],78      "interpreter": null,79      "cwd": "{{HOME}}/apps/tools-spboucher-ai",80      "env": {81        "NODE_ENV": "production",82        "NEXT_TELEMETRY_DISABLED": "1",83        "PATH": "/opt/homebrew/opt/postgresql@17/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin"84      },85      "cron_restart": null,86      "autorestart": true,87      "max_memory_restart": "1G"88    }89  ],90  "ngrok": null,91  "launchd": [],92  "env_overrides": {},93  "hooks": {94    "post_sync": [95      "set -o pipefail; export PATH=\"/opt/homebrew/bin:$PATH\"; test -f .env || { echo 'ERREUR: .env absent (secrets) — copier ~/Desktop/Cluster/secrets/tools-spboucher-ai/.env'; exit 1; }; chmod 600 .env",96      "set -o pipefail; export PATH=\"/opt/homebrew/bin:$PATH\"; pnpm install --frozen-lockfile --silent && test -d node_modules/next && echo '  deps ok'",97      "set -o pipefail; export PATH=\"/opt/homebrew/opt/postgresql@17/bin:/opt/homebrew/bin:$PATH\"; set -a; . ./.env; set +a; pnpm db:migrate && pnpm content:import --publish > /dev/null && pnpm bootstrap && echo '  db ok'",98      "set -o pipefail; export PATH=\"/opt/homebrew/bin:$PATH\"; set -a; . ./.env; set +a; NEXT_TELEMETRY_DISABLED=1 pnpm build 2>&1 | tail -3 && test -f .next/BUILD_ID && echo '  build ok'",99      "mkdir -p ~/backups/tools-spboucher-ai && chmod 700 ~/backups/tools-spboucher-ai && echo '  backup dir ok'"100    ],101    "post_start": []102  },103  "ka_repo": false,104  "tunnel": {105    "domain": "tools.spboucher.ai",106    "gateway": "BHS64",107    "note": "DNS GoDaddy A tools.spboucher.ai → 51.161.112.61 vérifié le 2026-11-02 (enregistrement explicite préexistant) ; route Caddy posée par mld deploy"108  },109  "notes": "Next.js 16 + PostgreSQL 17/pgvector local (DB tools_spboucher ; rôles tools_app lecture/écriture, tools_reader lecture seule sur les vues publiques) + worker tsx (liens, fraîcheur, embeddings optionnels, sauvegardes chiffrées 04:20 → ~/backups + M3U96b). Secrets uniquement dans ~/apps/tools-spboucher-ai/.env (600) ; copie ~/Desktop/Cluster/secrets/tools-spboucher-ai/.env."110}111
Files · laptop-initial-20261102
Menu

Theme