Skip to main content

Configuration reference

The full list of server variables, grouped by what they configure.

NeoAgent reads server configuration from ~/.neoagent/.env. Set NEOAGENT_HOME before installation to use another runtime root.

Prefer the setup wizard or environment CLI over manual file edits:

neoagent setup
neoagent setup --quick
neoagent setup --full
neoagent env list

Use neoagent env set or neoagent env unset with the variable named in the tables below. Restart NeoAgent after changing values that are only read during startup.

🖧 Core server​

VariableDefaultPurpose
PORTfirst available preferred portHTTP port
PUBLIC_URLunsetPublic HTTPS base URL for remote clients, OAuth, and webhooks
SESSION_SECRETrequiredSession-signing secret
NODE_ENVproductionNode environment
SECURE_COOKIESinferredRequire secure session cookies
TRUST_PROXYinferredTrust proxy headers from the deployment proxy
ALLOWED_ORIGINSunsetAdditional comma-separated CORS origins
NEOAGENT_PROFILEprodDeployment/runtime policy profile
NEOAGENT_RELEASE_CHANNELstableUpdate channel
NEOAGENT_SETUP_PROFILEquickLast selected setup profile
NEOAGENT_SETUP_COMPLETED_SECTIONScoreNon-secret setup completion state

Generate a session secret before setting it:

neoagent env set SESSION_SECRET "$(openssl rand -hex 32)"

🧠 Model providers​

VariableProvider or feature
ANTHROPIC_API_KEYAnthropic
OPENAI_API_KEYOpenAI and supported embedding/transcription paths
OPENAI_COMPATIBLE_API_KEYCustom OpenAI-compatible provider token
OPENAI_COMPATIBLE_BASE_URLCustom OpenAI-compatible provider base URL (required with its token)
GOOGLE_AI_KEYGoogle Gemini and supported embeddings
XAI_API_KEYxAI
MINIMAX_API_KEYMiniMax
NVIDIA_API_KEYNVIDIA NIM
OPENROUTER_API_KEYOpenRouter
OPENAI_BASE_URLOpenAI-compatible base URL override
ANTHROPIC_BASE_URLAnthropic-compatible base URL override
OLLAMA_URLOllama server URL
BRAVE_SEARCH_API_KEYWeb search
DEEPGRAM_API_KEYVoice transcription
DEEPGRAM_BASE_URLDeepgram-compatible base URL override
DEEPGRAM_MODELSpeech model
DEEPGRAM_LANGUAGESpeech language mode

Account-backed model providers use neoagent login, not these API-key fields.

🔌 Official integrations​

Variable prefixIntegration
GOOGLE_OAUTH_Google Workspace
MICROSOFT_OAUTH_Microsoft 365
GITHUB_OAUTH_GitHub
NOTION_OAUTH_Notion
SLACK_OAUTH_Slack
FIGMA_OAUTH_Figma
SPOTIFY_OAUTH_Spotify
TRELLO_API_KEYShared Trello application key

OAuth providers generally use a client ID, client secret, and optional redirect URI. The default callback is PUBLIC_URL/api/integrations/oauth/callback. Home Assistant, Nextcloud, and personal Trello credentials are configured through the application.

📧 Service email​

SMTP is optional. When configured, it supports account confirmation, password reset, email changes, and security notifications.

VariablePurpose
NEOAGENT_EMAIL_FROMSender address
NEOAGENT_EMAIL_SMTP_HOSTSMTP host
NEOAGENT_EMAIL_SMTP_PORTSMTP port
NEOAGENT_EMAIL_SMTP_USERSMTP user
NEOAGENT_EMAIL_SMTP_PASSSMTP password
NEOAGENT_EMAIL_SMTP_SECUREImplicit TLS
NEOAGENT_EMAIL_SMTP_REQUIRE_TLSRequire STARTTLS
NEOAGENT_EMAIL_SMTP_REJECT_UNAUTHORIZEDReject invalid certificates
NEOAGENT_EMAIL_REPLY_TOReply-To address
NEOAGENT_EMAIL_REQUIRE_SIGNUP_CONFIRMATIONConfirm new accounts
NEOAGENT_EMAIL_REQUIRE_EMAIL_CHANGE_CONFIRMATIONConfirm email changes
NEOAGENT_EMAIL_NOTIFY_UNUSUAL_LOGINNotify on unusual login
NEOAGENT_EMAIL_NOTIFY_ACCOUNT_CHANGESNotify on account changes
NEOAGENT_EMAIL_PUBLIC_URLBase URL used in email links
NEOAGENT_EMAIL_TOKEN_TTL_HOURSConfirmation token lifetime

💳 Billing​

Billing is disabled by default. Use the interactive wizard to configure it:

neoagent billing setup # guided Stripe key and webhook setup
neoagent billing # show current status
neoagent billing enable # activate billing and restart
neoagent billing disable # deactivate billing and restart

See Billing for the full setup guide, webhook configuration, and plan management.

VariableDefaultPurpose
NEOAGENT_BILLING_ENABLEDfalseEnable the Stripe billing system
STRIPE_SECRET_KEYunsetStripe server-side API key
STRIPE_PUBLISHABLE_KEYunsetStripe client-side key (returned to clients)
STRIPE_WEBHOOK_SECRETunsetWebhook signing secret
BILLING_TRIAL_DAYS14Free trial length in days

🖥️ Isolated runtime​

VariablePurpose
NEOAGENT_VM_BASE_IMAGE_URLDownload source for the guest image
NEOAGENT_VM_BASE_IMAGEExisting local guest image
NEOAGENT_VM_GUEST_TOKENServer-to-runtime authentication token
NEOAGENT_VM_MEMORY_MBGuest memory allocation
NEOAGENT_VM_CPUSGuest CPU allocation
Do not reuse example values

The installer generates the guest token. Do not reuse the example values from documentation or issue reports.

💬 Messaging​

Messaging credentials are normally configured in Settings > Messaging.

📁 Runtime paths​

PathContents
~/.neoagent/.envConfiguration and secrets
~/.neoagent/data/Database, sessions, logs, update state
~/.neoagent/agent-data/Skills, memory files, daily data

The canonical complete variable list and comments are in .env.example.