A service image to generate and serve dbt documentation (dbt docs) for Fast.BI user console. Automates docs generation on a schedule and serves an interactive docs site.
This image clones a dbt project, installs dependencies, generates dbt docs on a cron schedule, and serves them over HTTP. It supports multiple warehouses (BigQuery, Snowflake, Redshift, Fabric) and integrates with GCP secrets and Kubernetes-mounted secrets for credentials.
- Docs Generator: Runs
dbt depsanddbt docs generateon a configurable schedule. - Docs Server: Serves the interactive dbt docs website on port 8001.
- Secrets Manager: Reads credentials from GCP Secret Manager or mounted secrets.
- Logging & Cron: Structured logs and cron-based scheduling with health checks.
- Base: Python 3.11.11-slim-bullseye
# Build the image
./build.sh
# Or manually
docker build -t data-catalog-core .GITLINK_SECRET- Git URL (with token) to clone the dbt projectDBT_REPO_NAME- Repo subdirectory containing dbt projectDBT_PROJECT_NAME- Logical project nameCRON_TIME- Cron expression for docs regeneration (default: 0 6 * * *)GCP_CE_ACC- Use GCP secret manager for env (true/false)DBT_SECRETS- Secret name in GCP Secret Manager (base64 env bundle)GCP_SECRET_KEY- Backward compatibility mode for SA JSON flow (true/false)SA_EMAIL/SA_SECRET/PROFILE_SECRET_NAME- GCP auth and profiles.yml sourcesDATA_WAREHOUSE_PLATFORM- bigquery | snowflake | redshift | fabric
Mounted secrets supported at /fastbi/secrets/* for warehouse credentials.
- Clone dbt repo and install dependencies
- Configure credentials via GCP or mounted secrets
- Generate docs via cron and on startup
- Serve docs on port 8001, with logs persisted under
/data/logs
# Check container health
docker inspect --format='{{.State.Health.Status}}' data-catalog-core
# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' data-catalog-core- Failed to clone repo: Verify
GITLINK_SECRETand network access - Missing profiles: Ensure
PROFILE_SECRET_NAMEor mounted profiles are available - Warehouse auth issues: Confirm mounted secrets or GCP auth settings
- Docs not regenerating: Check
CRON_TIMEand cron logs in/data/logs/
- Documentation: https://wiki.fast.bi
- Issues: https://github.com/fast-bi/data-catalog-core/issues
- Email: support@fast.bi
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.