2 min readMay 15, 2026by maintainer

Getting Started

Nexus Docs runs as a Next.js application with Postgres, Redis, MeiliSearch, and an optional worker process. The Docker Compose setup is the fastest way to run the full stack.

Prerequisites

  • Docker 24 or newer
  • Docker Compose
  • About 2 GB of available memory
  • A copy of .env.example

Configure the app

Bash
cp .env.example .env

Set at least these values before production use:

VariablePurpose
AUTH_SECRETJWT/session signing secret. Generate with openssl rand -base64 32.
NEXTAUTH_URLPublic URL of the app, for example http://localhost:3333 locally.
MEILISEARCH_KEYSearch API key. Production refuses to start without a real value.
DATABASE_URLPostgres connection string. The Compose file provides a local default.
REDIS_URLOptional Redis connection for BullMQ worker queues such as email, webhooks, GitLab sync, ACL sync, and reindex jobs.

Start the stack

Bash
docker compose up -d --build
docker compose exec app npx prisma migrate deploy
docker compose exec app npx prisma db seed

The app is exposed at:

Text
http://localhost:3333

The default seeded admin account is:

Text
[email protected] / password123

Change that password immediately from the account page before exposing the app.

Add your first page

Create a Markdown file under content/:

YAML
---
title: "My First Page"
summary: "A short description used for metadata and search results."
access_tier: public
product: platform
status: published
owner: maintainer
tags: [example]
nav_order: 10
---

# My First Page

Write normal Markdown here.

Save it as:

Text
content/my-first-page.md

It becomes available at:

Text
/docs/my-first-page

After adding or changing content, rebuild the search index:

Bash
docker compose exec worker npx tsx scripts/reindex.ts

For a quick content-only check, run:

Bash
npx tsx scripts/validate-content.ts
Getting Started | Nexus Docs