WWebBuddyMarketplace
Get started

Quick start

Run LinkNest on your own machine with no database and no keys, become its admin, try the four headline modules on Premium, then add Postgres to keep data.

3 min readUpdated Oct 17, 2026Applies to LinkNest 1.0.0

On this page

This gets LinkNest running on your laptop. You need Node.js 22 and npm; nothing else is required for a first look.

1. Install and start

From the folder that contains package.json:

Terminal
npm install
cp .env.example .env
npm run dev

Before you sign up, open .env and set ADMIN_EMAILS to the email address you will register with (the example file has you@example.com). Restart npm run dev if it is already running.

Open http://localhost:8080. The development server always uses port 8080.

Note

With an empty DATABASE_URL the app runs an embedded Postgres (PGLite) in memory and applies the migrations to it on start. Everything works, and everything is wiped when the process stops, including your account.

2. Create your account and page

  1. On the home page type a username into the claim box, or choose Get started free (or open /signup). Sign-up is a modal: display name, email and a password of at least 8 characters.
  2. Claim a username at /onboarding: 3 to 24 letters, numbers or underscores. Your page is then live at /u/<username>.
  3. You land in the studio at /dashboard. Add a few links under Links and pick a theme under Look.

3. You are the admin

Because your email is listed in ADMIN_EMAILS, your account is made a platform admin the first time it opens the studio. Open http://localhost:8080/admin to see the admin panel. If it says "Can't open admin", the address you signed up with is not in ADMIN_EMAILS.

Admins and the admin panel explains the rule and why it matters on a public server.

4. Try the headline modules

New pages start on Free, which locks the headline modules. Pro includes live status, the co-pilot, A/B tests, custom domains and broadcasts; Premium adds faces, face schedules and place commerce. To try everything:

  1. Open Admin → People and set your own page to Premium.
  2. Back in the studio, reload. Home now shows the live status editor, Co-pilot and Place open, and each extra page under Links has a campaign schedule.

Selling it as SaaS lists every key and what it unlocks.

5. Turn on the AI co-pilot (optional)

The co-pilot works without a key, using a built-in rule-based planner. For model-written plans, add an xAI key to .env and restart npm run dev:

.env
XAI_API_KEY=xai-...

See AI page co-pilot.

6. Keep your data (optional)

Point the app at a real Postgres so data survives restarts. A local Docker container is enough:

Terminal
docker run -d --name linknest-db -p 5432:5432 \
  -e POSTGRES_PASSWORD=postgres postgres:16
.env
DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres
BETTER_AUTH_SECRET=   # generate with: openssl rand -base64 32

With DATABASE_URL set, the app no longer migrates on its own in development. Apply the schema, then restart:

Terminal
node --env-file=.env scripts/migrate.mjs
npm run dev

npm run db:migrate runs the same script but does not read .env, so pass the variable yourself if you use it.

7. Try a production build (optional)

The built server does not read .env and needs the Node preset:

Terminal
NITRO_PRESET=node-server npx vite build
PORT=8080 node --env-file=.env .output/server/index.mjs

Keep port 8080 locally: sign-in only trusts http://localhost:8080 and the origin in BETTER_AUTH_URL. Without PORT the built server listens on 3000.

Next steps