Blog draft engine generates structured markdown from all Qdrant collections (products, news, FAQ, troubleshooting). Supports 4 topic types: hype_cycle, comparison, new_product, tutorial. - routes/blog.ts: POST /api/blog/generate, GET/PUT endpoints - ecosystem.config.js: Added tip-scraper PM2 process - Scraper scheduler (pg-boss) now running on Erik with 8 job queues - News scraper running every 6 hours on Erik
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
module.exports = {
|
|
apps: [
|
|
{
|
|
name: "tip-api",
|
|
script: "./node_modules/.bin/tsx",
|
|
args: "packages/api/src/index.ts",
|
|
cwd: "/opt/tip",
|
|
interpreter: "none",
|
|
exec_mode: "fork",
|
|
env: {
|
|
NODE_ENV: "production",
|
|
API_PORT: "3201",
|
|
POSTGRES_HOST: "localhost",
|
|
POSTGRES_PORT: "5433",
|
|
POSTGRES_DB: "transceiver_db",
|
|
POSTGRES_USER: "tip",
|
|
POSTGRES_PASSWORD: "***REDACTED***",
|
|
OLLAMA_URL: "http://localhost:11434",
|
|
QDRANT_URL: "http://localhost:6333",
|
|
DOCLING_URL: "http://localhost:8100",
|
|
},
|
|
max_memory_restart: "500M",
|
|
instances: 1,
|
|
autorestart: true,
|
|
},
|
|
{
|
|
name: "tip-scraper",
|
|
script: "./node_modules/.bin/tsx",
|
|
args: "packages/scraper/src/index.ts",
|
|
cwd: "/opt/tip",
|
|
interpreter: "none",
|
|
exec_mode: "fork",
|
|
env: {
|
|
NODE_ENV: "production",
|
|
POSTGRES_HOST: "localhost",
|
|
POSTGRES_PORT: "5433",
|
|
POSTGRES_DB: "transceiver_db",
|
|
POSTGRES_USER: "tip",
|
|
POSTGRES_PASSWORD: "***REDACTED***",
|
|
},
|
|
max_memory_restart: "1G",
|
|
instances: 1,
|
|
autorestart: true,
|
|
cron_restart: "0 0 * * *",
|
|
},
|
|
],
|
|
};
|