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:
bash
node -vIf 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:
cd /path/to/novadocs
npm install3. Configure environment
bash
cp .env.example .envEdit .env:
Local testing (SQLite)
env
DATABASE_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:
env
DATABASE_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:
env
AUTH_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
bash
npm run db:push
npm run db:seed5. Run in development
bash
npm run devOpen http://localhost:3000.
6. Run in production (VPS)
bash
npm run build
npm run startKeep it running with pm2, systemd, or similar:
bash
npx pm2 start npm --name novadocs -- startPut 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:....)
