Deploy Your Own Copy (Free)
This project can run as a free hosted dashboard on Vercel with a free Neon Postgres database. The dashboard is the web app for login, review, editing, approvals, notifications, and manual publishing. The News Agent that finds articles and drafts posts is a separate program; see Tier 2 below before expecting new articles to appear automatically.
TIER 1 - Required (the dashboard will run with just this)
- Create a free Neon Postgres database at neon.tech, then copy its pooled Postgres connection string as
DATABASE_URL. - Generate
NEXTAUTH_SECRET:openssl rand -base64 32 - Set
NEXTAUTH_URLto the real Vercel URL you get after deploying, for examplehttps://your-project.vercel.app. If you guessed this during the one-click deploy flow, confirm it after the first deploy, update it in Vercel's Environment Variables if needed, and redeploy. - Pick an
ADMIN_EMAILfor the dashboard login. - Generate
ADMIN_PASSWORD_HASH. This must be a bcrypt hash, not the plain password. Run this exact command, replacing only the password text:
Usenode -e "const bcrypt = require('bcryptjs'); bcrypt.hash('replace-with-your-password', 12).then(console.log)"ADMIN_EMAILand the original password, not the hash, when signing in at/login. - After the first deploy, run the database migrations once from a local clone pointed at the same
DATABASE_URL:
This creates the database tables the dashboard needs. It is required for a fresh Neon database, and it is safe to rerun because Prisma only applies migrations that have not already run.npx prisma migrate deploy
TIER 2 - Optional (add only what you want)
- LinkedIn personal posting: follow docs/setup-guides.md, "LinkedIn personal profile posting".
- LinkedIn Company Page posting via Zernio: follow docs/setup-guides.md, "LinkedIn Company Page posting (via Zernio)".
- Twitter/X posting: follow docs/setup-guides.md, "Twitter/X posting".
- Auto-publish and its external scheduler: follow docs/setup-guides.md, "Auto-publish".
- Telegram notifications: follow the Telegram setup notes in docs/setup-guides.md.
- The News Agent itself needs either local Ollama or the OpenAI API. Ollama is free and runs on your own machine; OpenAI uses
AI_PROVIDER=openaiplus anOPENAI_API_KEYand is paid per API use. This part cannot genuinely run on Vercel's free tier because the agent does long-running AI work and, with Ollama, depends on a model loaded on your own computer. As explained in docs/architecture.md, Vercel runs short-lived serverless functions and cannot run a persistent local language model or reachlocalhoston your Mac.