Configuration
NeNe Corpus is configured via a .env file in the project root. On Tier A, the web installer writes this file for you.
Required variables
| Variable | Description |
|---|---|
APP_URL | Full URL of your installation, e.g. https://corpus.example.com |
DB_HOST | MySQL host |
DB_PORT | MySQL port (default 3306) |
DB_NAME | Database name |
DB_USER | Database user |
DB_PASS | Database password |
LOCAL_JWT_SECRET | Random secret for JWT signing (min 32 chars) |
ANTHROPIC_API_KEY | Your Anthropic API key (sk-ant-...) |
Optional: SMTP
Required for email notifications and password reset emails.
| Variable | Description |
|---|---|
SMTP_HOST | SMTP server hostname |
SMTP_PORT | SMTP port (587 for STARTTLS, 465 for SSL) |
SMTP_USER | SMTP username |
SMTP_PASS | SMTP password |
SMTP_FROM | Sender email address |
SMTP_FROM_NAME | Sender display name |
SMTP_SECURE | tls (STARTTLS) or ssl |
Without SMTP configured, email notifications and password reset emails are silently skipped. The Admin UI shows an alert when SMTP is not set up.
Admin UI settings
Many settings are managed through the Admin UI (Settings modal) and stored in the database:
- LLM settings — model, temperature, system prompt, fallback message
- Chat limits — message length, rate limits, daily token budgets
- Appearance — widget theme, colors, hero text, avatar, custom CSS
- Notifications — daily report recipients, rate-limit alert thresholds
Security notes
- Never commit
.envto version control. LOCAL_JWT_SECRETshould be cryptographically random:openssl rand -hex 32ANTHROPIC_API_KEYis stored in.envonly and never exposed to the browser.- On Tier A, place
.envone level abovepublic_html/if possible.