Deploy Databricks Forge to your workspace, verify it, and complete first-run setup.
Forge deploys a Databricks App and an isolated Lakebase Autoscaling project. It also binds a SQL warehouse and Databricks Model Serving endpoints. A normal first deployment takes approximately five minutes; service availability varies by cloud and region.
Forge is a community-maintained Field Engineering accelerator. It is not an official Databricks product and is not covered by Databricks Support. See Support.
You need:
- A Databricks workspace with Unity Catalog enabled
- A running Serverless or Pro SQL warehouse
- Permission to create or manage Databricks Apps
- Permission to create Lakebase Autoscaling projects, or an existing Lakebase branch and database you can bind
- Permission to use the selected SQL warehouse
- Access to at least one supported Databricks Model Serving model
- Node.js 20.9 or later
- Python 3
- Databricks CLI 0.205 or later
Install the CLI on macOS:
brew install databricksOr use the official installer:
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | shConfirm the local tools:
node --version
python3 --version
databricks versionThe recommended user-authorization path requires Databricks Apps - On-Behalf-Of User Authorization in the workspace preview settings. The deploy script configures the required application scopes.
git clone https://github.com/databricks-solutions/databricks-forge.git
cd databricks-forge
databricks auth login --host https://your-workspace.cloud.databricks.com
databricks current-user meFor a named CLI profile:
databricks auth login \
--host https://your-workspace.cloud.databricks.com \
--profile forgeRun the guided deployment:
./deploy.shThe script:
- Checks CLI authentication.
- Lists available SQL warehouses and asks you to choose one.
- Probes supported model endpoints and selects available defaults.
- Creates or updates the
databricks-forgeDatabricks App. - Creates an isolated Lakebase project on first deployment.
- Installs required database extensions and grants the app service principal.
- Binds resources, configures user scopes, uploads the source, and deploys.
To avoid the warehouse prompt:
./deploy.sh --warehouse "Serverless Starter Warehouse"To use a named profile:
./deploy.sh --profile forgeTo run a second isolated instance:
./deploy.sh --app-name forge-demoFor all deployment, model, Lakebase, cost-governance, and zero-egress options, see Deployment and Operations.
Open the app URL printed by deploy.sh. You should see the Forge home page.
Verify the health endpoint:
APP_URL=$(databricks apps get databricks-forge --output json | jq -r '.url')
curl -fsS "$APP_URL/api/health" | jq .A healthy response reports:
{
"status": "healthy",
"warehouse": "connected",
"database": "connected"
}If you used a custom --app-name, replace databricks-forge in the command.
View startup and runtime logs:
databricks apps logs databricks-forge --follow- Open Settings and review feature flags, model routing, and AI output language.
- Confirm the signed-in user can browse the intended Unity Catalog catalogs and schemas.
- Run a small discovery against one schema before scanning a large estate.
- Keep Demo Mode disabled unless the workspace is specifically used for synthetic demonstrations.
- Review Security Architecture before enabling optional data sampling or sharing the app broadly.
Users need the Unity Catalog permissions required for the metadata they select,
including USE CATALOG, USE SCHEMA, and relevant metadata/table access.
Lineage features additionally require access to system.access.table_lineage.
Pull the latest organization-hosted release and rerun the same deploy command:
git switch main
git pull --ff-only
./deploy.shThe script detects the existing app and Lakebase binding. Startup runs the database preflight and applies safe additive schema changes before serving traffic.
If an update fails, inspect app logs and redeploy the last known-good Git tag:
git fetch --tags
git switch --detach v1.0.4
./deploy.shReturn to current development with:
git switch mainRemove the app:
./deploy.sh --destroyThe script then asks whether to remove the associated Lakebase project. The default is keep, preserving application data.
For non-interactive cleanup:
# Remove the app and preserve Lakebase data.
./deploy.sh --destroy --keep-database
# Remove the app and soft-delete the Lakebase project.
./deploy.sh --destroy --destroy-database--purge-database permanently deletes the Lakebase project and is
irreversible. Use it only after independently confirming that no data must be
retained.
databricks auth login --host https://your-workspace.cloud.databricks.com
databricks current-user meIf you use multiple workspaces, pass --profile consistently.
Confirm a Serverless or Pro warehouse exists and that your user can view and use it:
databricks warehouses listYour user must be able to create Lakebase Autoscaling projects. If Lakebase is
not available in the workspace region, bind an existing supported project with
--lakebase-branch and --lakebase-database, or use the documented local
development path.
The deploy script probes endpoints and falls back by role. Specify a model explicitly only when it is available in your cloud and region:
./deploy.sh --endpoint "available-model-name"Inspect:
databricks apps logs databricks-forge --follow
databricks warehouses get <warehouse-id>Check warehouse access, Lakebase startup, resource bindings, and model endpoint availability in the logs.
For local development or zero-egress environments, follow
Local Development. The setup uses your
Databricks CLI OAuth session and writes .env.local; do not commit that file.
- Follow the User Guide.
- Understand the Architecture.
- Review the Security Architecture.
- Learn how the engines work.
- Read Support before opening an issue.