BoardPulse AI is configured entirely through environment variables loaded from aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/FloxTBoTyy/BoardPulse-AI/llms.txt
Use this file to discover all available pages before exploring further.
.env file at the root of the project. Copy the provided example file to get started, then adjust values for your environment. All settings have sensible defaults for local development — production deployments will need at minimum a real database URL and a model provider.
Getting started
Edit .env for your environment
Open
.env in your editor and update values as described below. At a minimum, set DEFAULT_SOURCE_DATABASE_URL, DEFAULT_MODEL_PROVIDER, and the corresponding API key or Ollama settings.App settings
General application identity and server configuration.Runtime environment label. Set to
production in production deployments. Affects logging verbosity and error detail.Host address the API server binds to. The default binds to all interfaces inside the container.
Port the API server listens on inside the container.
Display name returned in API metadata responses.
URL prefix for all v1 API routes.
Comma-separated list of allowed CORS origins. Add your frontend domain here for production deployments.
Database
Settings that control the BoardPulse internal database and the client source database it queries.SQLAlchemy connection URL for the BoardPulse internal database. This stores workspaces, query history, and schema cache — not your business data.
Identifier for the default workspace created on first boot. Used when no workspace is explicitly specified in a request.
SQLAlchemy connection URL for the source database BoardPulse AI queries. This is your business data. Falls back to
DATABASE_URL if not set. See Connecting a database for supported URL formats.Database schema to inspect and query. Leave blank to use the database default (
public for PostgreSQL).Comma-separated allowlist of table names the AI may query. Only these tables are exposed to the model and the SQL guardrail layer.
Maximum number of rows returned by any single query. Increase with caution on large datasets.
Directory where CSV and XLSX export files are written before download. Make sure this path exists and is writable inside the container.
When
true, the API seeds sample sales, invoice, and inventory data into the internal database on first boot. Useful for evaluating BoardPulse AI without connecting a real database.Redis
Connection URL for the Redis instance used for caching and background task queuing.
Model providers
Controls which AI provider generates SQL queries. See Configuring model providers for detailed setup.Default provider used when a request does not specify one. Valid values:
mock, cloud, local.API key for OpenAI or any OpenAI-compatible provider. Leave blank when using
mock or local mode.Model name passed to the OpenAI-compatible endpoint.
Base URL for the OpenAI-compatible API. Override to point at a different provider such as Azure OpenAI or a local proxy.
Enable the Ollama local model backend. Set to
true when running Ollama alongside the stack.URL of your Ollama instance. Inside Docker Compose this points to the
ollama service.Ollama model tag to use for query generation.
Open WebUI
Variables used by the OpenAI-compatible endpoint and the Open WebUI integration.Bearer token clients must send to the BoardPulse OpenAI-compatible endpoint. Change this to a strong random value in production.
Secret key used by Open WebUI for session signing. Must be a long, random string in production.
When
true, Open WebUI also exposes the Ollama native API alongside the OpenAI-compatible interface.Frontend
API base URL used by the Next.js frontend at build time and in the browser. Must be reachable from the user’s browser — not the Docker network name.
API base URL used by server-side Next.js code. Uses the Docker Compose service name (
api) so requests stay on the internal network.Postgres
Credentials for the managed PostgreSQL container included in the Docker Compose stack.Database name created inside the Postgres container.
Username for the Postgres container.
Password for the Postgres container. Change this to a strong, unique value in any non-local environment.