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 .envSet at least these values before production use:
| Variable | Purpose |
|---|---|
AUTH_SECRET | JWT/session signing secret. Generate with openssl rand -base64 32. |
NEXTAUTH_URL | Public URL of the app, for example http://localhost:3333 locally. |
MEILISEARCH_KEY | Search API key. Production refuses to start without a real value. |
DATABASE_URL | Postgres connection string. The Compose file provides a local default. |
REDIS_URL | Optional 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 seedThe app is exposed at:
Text
http://localhost:3333The default seeded admin account is:
Text
[email protected] / password123Change 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.mdIt becomes available at:
Text
/docs/my-first-pageReindex search
After adding or changing content, rebuild the search index:
Bash
docker compose exec worker npx tsx scripts/reindex.tsFor a quick content-only check, run:
Bash
npx tsx scripts/validate-content.ts