---
layout: 'page'
uri: '/configuration/general'
position: 1
slug: 'configuration-general'
parent: 'configuration'
navTitle: 'General'
title: 'General configuration'
description: 'Core Documan environment variables — project name, file globs, database path, HTTP port, AI discovery surfaces, and license key.'
---
# General configuration
Documan can be configured using environment variables in your `.env` file, system environment, or directly in a
`Dockerfile` using the `ENV` directive.
**Important:** Any change to environment variables requires a server restart to take effect.
This page covers the core server settings. Embeddings/vectorize and the AI chat assistant have their own pages — see
[Related configuration](#related-configuration) at the bottom.
## DOCUMAN_PROJECT_NAME
**Required for:** UI customization
**Default:** `Documan.ai`
The name displayed in the navigation bar of the web UI. Customize this to match your project or documentation site name.
**Example:**
```bash
DOCUMAN_PROJECT_NAME=MyProject.com
```
## DOCUMAN_DOCS_FILES
**Required for:** Documentation import
**Default:** `docs/**/*.md`
Comma-separated list of glob patterns for Markdown files to include. Supports double-star (`**`) for recursive directory
matching.
**Supported patterns:**
- `*` - matches any characters except path separator
- `**` - matches any characters including path separators (recursive)
- `?` - matches single character
- `[abc]` - matches characters in set
- `{a,b}` - matches alternatives
**Examples:**
```bash
# Scan docs directory recursively
DOCUMAN_DOCS_FILES=docs/**/*.md
# Multiple directories and specific files
DOCUMAN_DOCS_FILES=docs/**/*.md,guides/**/*.md,README.md,CONTRIBUTING.md
# All markdown files in current directory (non-recursive)
DOCUMAN_DOCS_FILES=*.md
```
## DOCUMAN_EXCLUDED_FILES
**Required for:** File filtering
**Default:** None
Comma-separated list of glob patterns to exclude files from import and fix commands. Supports double-star (`**`) for
recursive directory matching.
**Supported patterns:**
- `*` - matches any characters except path separator
- `**` - matches any characters including path separators (recursive)
- `?` - matches single character
- `[abc]` - matches characters in set
- `{a,b}` - matches alternatives
**Examples:**
```bash
# Exclude draft files
DOCUMAN_EXCLUDED_FILES=*.draft.md
# Exclude internal and archive directories
DOCUMAN_EXCLUDED_FILES=**/internal/**,**/archive/**
# Exclude specific paths
DOCUMAN_EXCLUDED_FILES=docs/private/**,docs/old/*.md
```
## DOCUMAN_DB_PATH
**Required for:** Database storage
**Default:** `.documan/db/docs.db`
Path to the SQLite database file. The directory will be created automatically if it doesn't exist.
**Example:**
```bash
DOCUMAN_DB_PATH=/var/data/documan/docs.db
```
## DOCUMAN_HTTP_PORT
**Required for:** Server configuration
**Default:** `3000`
Port number for the web UI, REST API, and MCP server.
**Example:**
```bash
DOCUMAN_HTTP_PORT=8080
```
Access points will be:
- Web UI: `http://localhost:8080`
- MCP Server: `http://localhost:8080/mcp`
## DOCUMAN_AI_INDEX_ENABLED
**Required for:** AI/LLM discovery surfaces
**Default:** `true`
Controls whether Documan exposes the AI- and LLM-friendly discovery surfaces. The web UI is a client-rendered
single-page app, which AI agents and crawlers cannot read without executing JavaScript. When enabled, Documan also
serves the documentation as raw Markdown and publishes standard discovery files so AI tools (Claude Code, ChatGPT,
crawlers) can read it directly:
- **`/{page}.md`** — the raw Markdown source of any page (e.g. `/configuration/general.md`). The home page is
available at `/index.md`.
- **`Accept: text/markdown`** — requesting any canonical page URL with this header returns Markdown instead of the HTML
shell. Browsers are unaffected.
- **`/sitemap.xml`** — every visible page's canonical URL.
- **`/robots.txt`** — points crawlers at the sitemap and `llms.txt`.
- **`/llms.txt`** — an [llmstxt.org](https://llmstxt.org/) index of the documentation.
When set to `false`, none of these surfaces are served — AI agents and LLMs get no direct access to the documentation
and would have to render the JavaScript app in a browser to read it.
**Example:**
```bash
# Disable AI/LLM discovery surfaces
DOCUMAN_AI_INDEX_ENABLED=false
```
## DOCUMAN_LICENSE_KEY
**Required for:** Unlimited file imports
**Default:** None (free tier)
License key for unlocking unlimited markdown file imports. The free tier allows up to 100 markdown files. For larger
projects, purchase a license at [documan.ai](https://documan.ai).
**Example:**
```bash
DOCUMAN_LICENSE_KEY=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9...
```
## Related configuration
- [Semantic search](/configuration/semantic-search) — OpenAI embeddings for the `vectorize` command and semantic search
- [AI chat](/configuration/ai-chat) — the Anthropic-powered chat assistant
---
[← ⚙️ Configuration](/configuration.md) | [Semantic search →](/configuration/semantic-search.md)