Powered by NovaDocs
Welcome to NovaDocsStart with Installation → Install with Docker, or switch language to Polish (PL).

Install manually

Admin7 min readUpdated Aug 7, 2026

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 -v

If it is below 20, install a newer Node from nodejs.org or your package manager.

2. Get the project

  1. Download NovaDocs from BuiltByBit: https://builtbybit.com/resources/novadocs.120459/
  2. Unzip the package on your computer or server
  3. Open a terminal in that folder and install dependencies:
bash
cd /path/to/novadocs
npm install

3. Configure environment

bash
cp .env.example .env

Edit .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)

  1. Create a Postgres database.
  2. Copy the connection string into DATABASE_URL.
  3. 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:seed

5. Run in development

bash
npm run dev

Open http://localhost:3000.

6. Run in production (VPS)

bash
npm run build
npm run start

Keep it running with pm2, systemd, or similar:

bash
npx pm2 start npm --name novadocs -- start

Put Nginx/Caddy in front for HTTPS.

Deploy on Vercel

  1. Put the NovaDocs files in a Git repo (or import the folder in Vercel)
  2. Add environment variables (DATABASE_URL, AUTH_SECRET, NEXT_PUBLIC_APP_URL, …)
  3. Use hosted Postgres (not SQLite)
  4. Build command is already prisma generate && next build
  5. 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:....)

Was this helpful?