Install manually
Use this if you prefer Node.js directly on your machine or VPS (no Docker).
1. Install Node.js 20+
Check your version:
bashnode -v
If it is below 20, install a newer Node from nodejs.org or your package manager.
2. Get the project
- Download NovaDocs from BuiltByBit: https://builtbybit.com/resources/novadocs.120459/
- Unzip the package on your computer or server
- Open a terminal in that folder and install dependencies:
bashcd /path/to/novadocs npm install
3. Configure environment
bashcp .env.example .env
Edit .env:
Local testing (SQLite)
envDATABASE_URL="file:./dev.db" AUTH_SECRET="change-me-to-a-long-random-string" NEXT_PUBLIC_APP_URL="http://localhost:3000" SEED_ADMIN_EMAIL="admin@novadocs.local" SEED_ADMIN_PASSWORD="admin12345!"
Production (Postgres / Supabase)
- Create a Postgres database.
- Copy the connection string into
DATABASE_URL. - On Supabase, prefer the Transaction pooler URL (port 6543) and add
pgbouncer=true, for example:
envDATABASE_URL="postgresql://postgres.xxxx:PASSWORD@aws-0-….pooler.supabase.com:6543/postgres?pgbouncer=true"
If you use a custom schema (like novadocs), keep ?schema=novadocs in the URL.
Also set:
envAUTH_SECRET="long-random-secret" NEXT_PUBLIC_APP_URL="https://your-domain.com" SEED_ADMIN_EMAIL="you@example.com" SEED_ADMIN_PASSWORD="strong-password"
4. Create tables and admin user
bashnpm run db:push npm run db:seed
5. Run in development
bashnpm run dev
Open http://localhost:3000.
6. Run in production (VPS)
bashnpm run build npm run start
Keep it running with pm2, systemd, or similar:
bashnpx pm2 start npm --name novadocs -- start
Put Nginx/Caddy in front for HTTPS.
Deploy on Vercel
- Put the NovaDocs files in a Git repo (or import the folder in Vercel)
- Add environment variables (
DATABASE_URL,AUTH_SECRET,NEXT_PUBLIC_APP_URL, …) - Use hosted Postgres (not SQLite)
- Build command is already
prisma generate && next build - After the first deploy, run seed once from your PC against production:
bash$env:DATABASE_URL="your-production-url" npx prisma db push npm run db:seed
(On Mac/Linux use export DATABASE_URL=... instead of $env:....)
