Open-source business intelligence platform replacing Tableau and Power BI with no-code querying, SQL dashboards, and self-hosted AGPL-3.0 reporting.
Sameer Al-Sakran and Allen Gilliland started Metabase at startup incubator Expa in 2014 to eliminate the endless backlog of simple SQL requests sent to data engineers. By wrapping database connections in a visual query builder and shipping as a self-contained JAR, it turned business intelligence into a self-service utility for entire companies. Today, that origin means non-technical colleagues can drill into operational databases without writing queries or waiting on engineering tickets.
Tableau organizes BI around complex visual analytics, requiring expensive desktop authoring tools and steep per-creator subscriptions. For an agency or a fifteen-person operations department, licensing Tableau Creators and Viewers can easily consume five figures annually before adding infrastructure overhead. Metabase attacks the same core reporting problem by running as a single service on an existing virtual server, letting everyone view and filter dashboards without per-seat tolls. It handles the vast majority of day-to-day business reporting: trend tracking, conversion funnels, scheduled email digests, and ad-hoc operational questions.
Tableau maintains an advantage when dedicated data analysts must perform intricate statistical modeling, blending unjoined tables across varied enterprise systems, or crafting specialized custom charting geometries. In contrast, Metabase expects clean relational data and straightforward aggregation. Teams migrating from Tableau trade off dense calculation syntax for a clean web interface that colleagues actually adopt. For teams that already maintain structured schemas in Postgres, MySQL, or Snowflake, deploying Metabase avoids both proprietary vendor lock-in and escalating licensing fees tied to employee headcount.
Can Metabase replace Tableau for internal reporting? Yes. For standard operational dashboards, ad-hoc queries, and scheduled reports, Metabase covers daily team needs at a fraction of the cost, reserving Tableau for specialized statistical modeling.
Is Metabase free for commercial use? Yes. The open-source community edition is free to self-host and run for commercial workloads without paying software license fees.
Does Metabase store raw business data? No. It connects directly to your databases and runs queries on demand, storing only metadata, question definitions, and dashboard configurations.
Metabase is an ideal choice when a growing organization needs shared data access without accepting escalating per-seat software contracts. Active maintenance through September 2026 and an AGPL-3.0 license make it a dependable self-hosted foundation, provided your underlying tables are already cleaned and modeled.
Commands from the official package registries. Each package is matched to Metabase through the registry's own link to its source code or website.
brew install metabasebrew install metabaseWe started this exact setup from scratch in a clean Linux machine on Oct 9, 2026 and checked it through Metabase's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p metabase && cd metabase
curl -fsSL https://open-source.store/tools/metabase/compose.yml -o compose.ymlcat > .env <<EOF
POSTGRES_PASSWORD=$(openssl rand -hex 12)
EOFPOSTGRES_PASSWORD — Password of the PostgreSQL application database. Generated above; keep it secret.docker compose up -dservices:
metabase:
image: metabase/metabase:v0.64.1
container_name: metabase
hostname: metabase
ports:
- 3000:3000
environment:
MB_DB_TYPE: postgres
MB_DB_DBNAME: metabaseappdb
MB_DB_PORT: 5432
MB_DB_USER: metabase
MB_DB_PASS: ${POSTGRES_PASSWORD}
MB_DB_HOST: postgres
networks:
- metanet1
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: curl --fail -I http://localhost:3000/api/health || exit 1
interval: 15s
timeout: 5s
retries: 5
postgres:
image: postgres:16
container_name: postgres
hostname: postgres
environment:
POSTGRES_USER: metabase
POSTGRES_DB: metabaseappdb
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./pg_data:/var/lib/postgresql/data
networks:
- metanet1
healthcheck:
test: ["CMD-SHELL", "pg_isready -U metabase -d metabaseappdb"]
interval: 5s
timeout: 5s
retries: 10
networks:
metanet1:
driver: bridge
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 171 s: postgres:16, metabase/metabase:v0.64.1.
Go, gRPC and Protobuf done right, LLM agents in production, and the hard parts of shipping a first product.
Show that Metabase is listed as an open-source alternative. Paste into your README:
Based on the upstream setup. Official PostgreSQL compose. Image pinned to v0.64.1, database password moved to .env, the /dev/urandom host mount dropped, PostgreSQL healthcheck added so Metabase waits for it.
metabase | 2026-10-09T09:43:22.651542834Z 2026-10-09 09:43:22,651 INFO task.impl :: Initializing task QueueReaper 📆
metabase | 2026-10-09T09:43:22.652943626Z 2026-10-09 09:43:22,652 INFO task.impl :: Initializing task TaskHistoryCleanup 📆
metabase | 2026-10-09T09:43:22.654594001Z 2026-10-09 09:43:22,654 INFO task.impl :: Initializing task TimeoutTransforms 📆
metabase | 2026-10-09T09:43:22.654848001Z 2026-10-09 09:43:22,654 INFO transforms.timeout :: Scheduling timeout transforms task.
metabase | 2026-10-09T09:43:22.656527709Z 2026-10-09 09:43:22,656 INFO task.impl :: Initializing task CollectOrphanedExplorationResults 📆
metabase | 2026-10-09T09:43:22.659747543Z 2026-10-09 09:43:22,659 INFO task.impl :: Initializing task SuggestedPromptsRefresh 📆
metabase | 2026-10-09T09:43:22.660400043Z 2026-10-09 09:43:22,660 INFO task.impl :: Initializing task SuggestedPromptsGenerator 📆
metabase | 2026-10-09T09:43:22.661755126Z 2026-10-09 09:43:22,661 INFO task.impl :: Initializing task CleanupExpiredOAuthTokens 📆
metabase | 2026-10-09T09:43:22.663004043Z 2026-10-09 09:43:22,662 INFO task.impl :: Initializing task TransformJobRunReaper 📆
metabase | 2026-10-09T09:43:22.664296668Z 2026-10-09 09:43:22,664 INFO task.impl :: Initializing task CheckForNewVersions 📆
metabase | 2026-10-09T09:43:22.665709459Z 2026-10-09 09:43:22,665 INFO task.impl :: Initializing task SendMeteringEvents 📆
metabase | 2026-10-09T09:43:22.666619709Z 2026-10-09 09:43:22,666 INFO task.impl :: Initializing task TaskRunHeartbeat 📆
metabase | 2026-10-09T09:43:22.675259959Z 2026-10-09 09:43:22,675 INFO task.impl :: Initializing task SearchIndexReindex 📆
metabase | 2026-10-09T09:43:22.679034459Z 2026-10-09 09:43:22,678 INFO task.impl :: Initializing task SendCreatorSentimentEmails 📆
metabase | 2026-10-09T09:43:22.683717376Z 2026-10-09 09:43:22,683 INFO task.impl :: Initializing task ModelIndexValues 📆
metabase | 2026-10-09T09:43:22.694915459Z 2026-10-09 09:43:22,694 INFO task.impl :: Initializing task McpQueryHandleGc 📆
metabase | 2026-10-09T09:43:22.697866751Z 2026-10-09 09:43:22,697 INFO task.impl :: Initializing task TransformJobRunHeartbeat 📆
metabase | 2026-10-09T09:43:22.697962334Z 2026-10-09 09:43:22,697 INFO task.impl :: Initializing task TruncateAuditTables 📆
metabase | 2026-10-09T09:43:22.699887918Z 2026-10-09 09:43:22,699 INFO task.impl :: Initializing task ConversationTitleBackfill 📆
metabase | 2026-10-09T09:43:22.701087918Z 2026-10-09 09:43:22,701 INFO task.conversation-title-backfill :: Skipping Metabot conversation title backfill because the AI provider is not configured.
metabase | 2026-10-09T09:43:22.701131418Z 2026-10-09 09:43:22,701 INFO task.impl :: Initializing task SendPulses 📆
metabase | 2026-10-09T09:43:22.702553876Z 2026-10-09 09:43:22,702 INFO task.impl :: Initializing task PersistRefresh 📆
metabase | 2026-10-09T09:43:22.710267001Z 2026-10-09 09:43:22,710 INFO driver.impl :: Initializing driver :sql...
metabase | 2026-10-09T09:43:22.710388418Z 2026-10-09 09:43:22,710 INFO driver.impl :: Initializing driver :sql-jdbc...
metabase | 2026-10-09T09:43:22.710433584Z 2026-10-09 09:43:22,710 INFO driver.impl :: Initializing driver :sqlite...
metabase | 2026-10-09T09:43:22.719671418Z 2026-10-09 09:43:22,719 INFO task.impl :: Initializing task SendNotifications 📆
metabase | 2026-10-09T09:43:22.721322293Z 2026-10-09 09:43:22,721 INFO task.impl :: Initializing task RefreshSlackChannelsAndUsers 📆
metabase | 2026-10-09T09:43:22.723485793Z 2026-10-09 09:43:22,723 INFO task.impl :: Initializing task TransformDagRunHeartbeat 📆
metabase | 2026-10-09T09:43:22.723583251Z 2026-10-09 09:43:22,723 INFO task.impl :: Initializing task TransformRunHeartbeat 📆
metabase | 2026-10-09T09:43:22.723747251Z 2026-10-09 09:43:22,723 INFO task.impl :: Initializing task SendWarnPulseRemovalEmail 📆
metabase | 2026-10-09T09:43:22.724650168Z 2026-10-09 09:43:22,724 INFO task.impl :: Initializing task SearchIndexInit 📆
metabase | 2026-10-09T09:43:22.725238001Z 2026-10-09 09:43:22,725 INFO task.impl :: Initializing task CancelRuns 📆
metabase | 2026-10-09T09:43:22.725544543Z 2026-10-09 09:43:22,725 INFO transforms.canceling :: Scheduling the cancelation background task.
metabase | 2026-10-09T09:43:22.727228959Z 2026-10-09 09:43:22,725 INFO task.impl :: Initializing task SendAnonymousUsageStats 📆
metabase | 2026-10-09T09:43:22.727232626Z 2026-10-09 09:43:22,726 INFO task.impl :: Initializing task SessionCleanup 📆
metabase | 2026-10-09T09:43:22.727849376Z 2026-10-09 09:43:22,727 INFO task.impl :: Initializing task QuartzTracing 📆
metabase | 2026-10-09T09:43:22.728048959Z 2026-10-09 09:43:22,728 INFO tracing.quartz :: Initializing Quartz tracing instrumentation
metabase | 2026-10-09T09:43:22.728503876Z 2026-10-09 09:43:22,728 INFO task.impl :: Initializing task FlushMessageOutbox 📆
metabase | 2026-10-09T09:43:22.729577501Z 2026-10-09 09:43:22,729 INFO task.impl :: Initializing task RunTransform 📆
metabase | 2026-10-09T09:43:22.730103126Z 2026-10-09 09:43:22,729 INFO transforms.schedule :: Initializing transform job execution jobs
metabase | 2026-10-09T09:43:22.733213501Z 2026-10-09 09:43:22,733 INFO transforms.schedule :: Initializing schedule for transform job 1
metabase | 2026-10-09T09:43:22.735802834Z 2026-10-09 09:43:22,735 INFO transforms.schedule :: Initializing schedule for transform job 2
metabase | 2026-10-09T09:43:22.736788543Z 2026-10-09 09:43:22,736 INFO transforms.schedule :: Initializing schedule for transform job 3
metabase | 2026-10-09T09:43:22.737791918Z 2026-10-09 09:43:22,737 INFO transforms.schedule :: Initializing schedule for transform job 4
metabase | 2026-10-09T09:43:22.738763084Z 2026-10-09 09:43:22,738 INFO task.impl :: Initializing task UsageMetadataProcess 📆
metabase | 2026-10-09T09:43:22.739789418Z 2026-10-09 09:43:22,739 INFO task.impl :: Initializing task SaveReport 📆
metabase | 2026-10-09T09:43:22.740678418Z 2026-10-09 09:43:22,740 INFO task.impl :: Initializing task TransformRunReaper 📆
metabase | 2026-10-09T09:43:22.741782251Z 2026-10-09 09:43:22,741 INFO task.impl :: Initializing task TaskRunReaper 📆
metabase | 2026-10-09T09:43:22.742703668Z 2026-10-09 09:43:22,742 INFO task.impl :: Initializing task SendTransformFailureDigest 📆
metabase | 2026-10-09T09:43:22.743551751Z 2026-10-09 09:43:22,743 INFO task.impl :: Initializing task SendFollowUpEmails 📆
metabase | 2026-10-09T09:43:22.748651626Z 2026-10-09 09:43:22,748 INFO core.core :: Looks like this is a new installation ... preparing setup wizard
metabase | 2026-10-09T09:43:22.759090959Z 2026-10-09 09:43:22,758 INFO core.core :: Please use the following URL to setup your Metabase installation:
metabase | 2026-10-09T09:43:22.759104084Z
metabase | 2026-10-09T09:43:22.759104959Z http://0.0.0.0:3000/setup/
metabase | 2026-10-09T09:43:22.759105751Z
metabase | 2026-10-09T09:43:22.759106543Z
metabase | 2026-10-09T09:43:22.765282876Z 2026-10-09 09:43:22,765 INFO util.files :: File system at #object[java.net.URI 0x4b172799 jar:file:/app/metabase.jar!/sample-database.sqlite] already exists
metabase | 2026-10-09T09:43:22.765574668Z 2026-10-09 09:43:22,765 INFO util.files :: Extract file /sample-database.sqlite -> /plugins/sample-database.sqlite
metabase | 2026-10-09T09:43:22.819159168Z 2026-10-09 09:43:22,818 INFO task.sync-databases-trigger :: A trigger for "Sync and Analyze" of Database 1 has been enabled with schedule: "0 48 * * * ? *"
metabase | 2026-10-09T09:43:22.823984251Z 2026-10-09 09:43:22,823 INFO task.sync-databases-trigger :: A trigger for "Scan Field Values" of Database 1 has been enabled with schedule: "0 0 19 * * ? *"
metabase | 2026-10-09T09:43:23.232202835Z 2026-10-09 09:43:23,232 INFO core.core :: Not installing EE audit app DB
metabase | 2026-10-09T09:43:23.232354710Z 2026-10-09 09:43:23,232 INFO notification.seed :: Seeding default notifications
metabase | 2026-10-09T09:43:23.241985210Z 2026-10-09 09:43:23,241 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.260846626Z 2026-10-09 09:43:23,260 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.271199001Z 2026-10-09 09:43:23,271 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.278112335Z 2026-10-09 09:43:23,277 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.284855918Z 2026-10-09 09:43:23,284 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.292059376Z 2026-10-09 09:43:23,291 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.298421626Z 2026-10-09 09:43:23,298 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.304493876Z 2026-10-09 09:43:23,304 INFO models.channel :: ChannelTemplate create: channel_type=:channel/email template_type=:email/handlebars-resource user_id=null
metabase | 2026-10-09T09:43:23.309260835Z 2026-10-09 09:43:23,309 INFO notification.seed :: Seeded notifications: {:create 8}
metabase | 2026-10-09T09:43:23.313147251Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation map-tile-server-allowed-networks
metabase | 2026-10-09T09:43:23.313253418Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation check-for-removed-env-vars
metabase | 2026-10-09T09:43:23.313280418Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation warehouse-allowed-networks
metabase | 2026-10-09T09:43:23.313317376Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation llm-allowed-networks
metabase | 2026-10-09T09:43:23.313350460Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation http-channel-allowed-networks
metabase | 2026-10-09T09:43:23.313407918Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation MqBackendValidation
metabase | 2026-10-09T09:43:23.313410876Z 2026-10-09 09:43:23,313 INFO startup.core :: Running startup validation oidc-allowed-networks
metabase | 2026-10-09T09:43:23.313701543Z 2026-10-09 09:43:23,313 INFO startup.core :: Running setup logic SearchIndexInit ☑️
metabase | 2026-10-09T09:43:23.314131335Z 2026-10-09 09:43:23,314 INFO startup.core :: Running setup logic clear-token-cache ☑️
metabase | 2026-10-09T09:43:23.324111043Z 2026-10-09 09:43:23,324 INFO startup.core :: Running setup logic MqStart ☑️
metabase | 2026-10-09T09:43:23.324349085Z 2026-10-09 09:43:23,324 INFO mq.init :: Queue backend: :queue.backend/quartz
metabase | 2026-10-09T09:43:23.333740460Z 2026-10-09 09:43:23,333 INFO core.QuartzScheduler :: Scheduler MetabaseScheduler_$_metabase1791539002617 started.
metabase | 2026-10-09T09:43:23.333814001Z 2026-10-09 09:43:23,333 INFO task.impl :: Task scheduler started
metabase | 2026-10-09T09:43:23.334646960Z 2026-10-09 09:43:23,334 INFO search.engine :: Search will be served by the :search.engine/appdb engine
metabase | 2026-10-09T09:43:23.334944085Z 2026-10-09 09:43:23,334 INFO search.core :: Initializing search indexes
metabase | 2026-10-09T09:43:23.337633585Z 2026-10-09 09:43:23,337 INFO util.queue :: Starting listener search-index-update with 1 threads 🎧
metabase | 2026-10-09T09:43:23.339417668Z 2026-10-09 09:43:23,339 INFO core.core :: Metabase Initialization COMPLETE
metabase | 2026-10-09T09:43:23.341199126Z 2026-10-09 09:43:23,341 INFO core.core :: Metabase Initialization COMPLETE in 7.1 s (JVM uptime: 16.1 s)
metabase | 2026-10-09T09:43:23.352758168Z 2026-10-09 09:43:23,352 INFO appdb.index :: Resetting appdb index for version d5e17e2ae9e830e11746be68b4c3f8443a9a185564bfd6730f0a81ced25f100f, active table: nil
metabase | 2026-10-09T09:43:23.394695293Z 2026-10-09 09:43:23,394 INFO appdb.index :: Creating pending index :search_index__dhxidfjniwm63ngs4s8ot for lang en
metabase | 2026-10-09T09:43:23.405783376Z 2026-10-09 09:43:23,405 INFO models.search-index-metadata :: Inserted new pending table :search_index__dhxidfjniwm63ngs4s8ot
metabase | 2026-10-09T09:43:23.424595835Z 2026-10-09 09:43:23,424 INFO task.send-pulses :: Initializing SendPulse triggers for dashboard subscriptions {mb-quartz-job-type=InitSendPulseTriggers}
metabase | 2026-10-09T09:43:23.427060710Z 2026-10-09 09:43:23,426 INFO appdb.index :: New pending index :search_index__dhxidfjniwm63ngs4s8ot
metabase | 2026-10-09T09:43:23.430303668Z 2026-10-09 09:43:23,430 INFO appdb.index :: Activating pending index :search_index__dhxidfjniwm63ngs4s8ot
metabase | 2026-10-09T09:43:23.432918626Z 2026-10-09 09:43:23,432 INFO task.send :: Initializing SendNotification triggers {mb-quartz-job-type=InitNotificationTriggers}
metabase | 2026-10-09T09:43:23.440634251Z 2026-10-09 09:43:23,440 INFO appdb.index :: Activated pending index :search_index__dhxidfjniwm63ngs4s8ot
metabase | 2026-10-09T09:43:23.442147043Z 2026-10-09 09:43:23,442 INFO task.refresh-slack-channel-user-cache :: Slack is not configured, not refreshing slack user/channel cache. {mb-quartz-job-type=RefreshCacheOnStartup}
metabase | 2026-10-09T09:43:23.446511918Z 2026-10-09 09:43:23,446 INFO appdb.index :: Dropped 0 stale indexes: []
metabase | 2026-10-09T09:43:23.446894418Z 2026-10-09 09:43:23,446 INFO appdb.core :: Populating index
metabase | 2026-10-09T09:43:23.524344501Z 2026-10-09 09:43:23,524 INFO search.core :: Index initialized in 188ms (["card" 36] ["table" 8] ["collection" 3] ["metric" 2] ["dashboard" 1] ["database" 1] ["dataset" 1])
metabase | 2026-10-09T09:43:25.483479502Z 2026-10-09 09:43:25,481 DEBUG middleware.log :: GET /api/health 200 0ms (0 DB calls) App DB connections: 0/7 Jetty threads: 3/50 (4 idle, 0 queued) (45 total active threads) Queries in flight: 0 (0 queued) {:metabase-user-id nil}
metabase | 2026-10-09T09:43:25.554897127Z 2026-10-09 09:43:25,554 INFO i18n.impl :: Reading available locales from locales.clj...
metabase | 2026-10-09T09:43:25.646950002Z 2026-10-09 09:43:25,646 INFO util.fonts :: Reading available fonts from /frontend_client/app/fonts
metabase | 2026-10-09T09:43:25.647752752Z 2026-10-09 09:43:25,647 DEBUG middleware.log :: GET /api/session/properties 200 160ms (16 DB calls) App DB connections: 0/7 Jetty threads: 3/50 (4 idle, 0 queued) (46 total active threads) Queries in flight: 0 (0 queued) {:metabase-user-id nil}
metabase | 2026-10-09T09:43:25.735257878Z 2026-10-09 09:43:25,735 INFO models.user :: Setting User 1's last_acknowledged_version to v0.64.1, the current version
metabase | 2026-10-09T09:43:25.740629003Z 2026-10-09 09:43:25,740 INFO models.user :: Adding User 1 to All Users permissions group...
metabase | 2026-10-09T09:43:25.740787878Z 2026-10-09 09:43:25,740 INFO models.user :: Adding User 1 to All Users permissions group...
metabase | 2026-10-09T09:43:25.840548419Z 2026-10-09 09:43:25,840 DEBUG middleware.log :: POST /api/setup 200 121ms (69 DB calls) App DB connections: 1/7 Jetty threads: 3/50 (4 idle, 0 queued) (47 total active threads) Queries in flight: 0 (0 queued) {:metabase-user-id nil}
metabase | 2026-10-09T09:43:25.846335044Z 2026-10-09 09:43:25,846 INFO middleware.misc :: Setting Metabase site URL to 127.0.0.1:3000
metabase | 2026-10-09T09:43:25.873350878Z 2026-10-09 09:43:25,873 DEBUG middleware.log :: POST /api/collection 200 16ms (13 DB calls) App DB connections: 0/7 Jetty threads: 3/50 (4 idle, 0 queued) (48 total active threads) Queries in flight: 0 (0 queued) {:metabase-user-id 1}
metabase | 2026-10-09T09:43:25.888058586Z 2026-10-09 09:43:25,887 DEBUG middleware.log :: GET /api/collection/5 200 11ms (4 DB calls) App DB connections: 0/7 Jetty threads: 3/50 (4 idle, 0 queued) (48 total active threads) Queries in flight: 0 (0 queued) {:metabase-user-id 1}
metabase | 2026-10-09T09:43:26.051081794Z 2026-10-09 09:43:26,050 DEBUG middleware.log :: POST /api/dataset 202 [ASYNC: completed] 158ms (2 DB calls) App DB connections: 0/7 Jetty threads: 2/50 (4 idle, 0 queued) (61 total active threads) Queries in flight: 1 (0 queued); sqlite DB 1 connections: 0/0 (0 threads blocked) {:metabase-user-id 1}
metabase | 2026-10-09T09:43:32.689477214Z 2026-10-09 09:43:32,687 INFO task.suggested-prompts-generator :: No suggested prompts found for b5716059-ad40-4d83-a4e1-673af020b2d8. Generating suggested prompts. {mb-quartz-job-type=SuggestedPromptsGenerator}
metabase | 2026-10-09T09:43:32.817268923Z 2026-10-09 09:43:32,817 INFO metabot.example-question-generator :: Generating example questions natively {:table-count 1, :metric-count 2} {mb-quartz-job-type=SuggestedPromptsGenerator}
metabase | 2026-10-09T09:43:32.827979548Z 2026-10-09 09:43:32,827 WARN metabot.example-question-generator :: Example question generation failed for one item: No LLM provider connection named "anthropic" is configured.
metabase | 2026-10-09T09:43:32.831557464Z 2026-10-09 09:43:32,831 WARN metabot.example-question-generator :: Example question generation failed for one item: No LLM provider connection named "anthropic" is configured.
metabase | 2026-10-09T09:43:32.837795131Z 2026-10-09 09:43:32,837 WARN metabot.example-question-generator :: Example question generation failed for one item: No LLM provider connection named "anthropic" is configured.
metabase | 2026-10-09T09:43:32.838319131Z 2026-10-09 09:43:32,838 ERROR task.suggested-prompts-generator :: Suggested prompts generation failed: No LLM provider connection named "anthropic" is configured. {mb-quartz-job-type=SuggestedPromptsGenerator}
metabase | 2026-10-09T09:43:37.301142050Z 2026-10-09 09:43:37,301 DEBUG middleware.log :: HEAD /api/health 200 0ms (0 DB calls) App DB connections: 0/7 Jetty threads: 4/50 (3 idle, 0 queued) (62 total active threads) Queries in flight: 0 (0 queued) {:metabase-user-id nil}