dbt Artifact Storage: HTTP Server Configuration
This guide walks you through configuring an HTTP/HTTPS server as the artifact storage layer for dbt Core + Collate integration. Ideal for multi-cloud or on-premises deployments.Prerequisites Checklist
| Requirement | Details | How to Verify |
|---|---|---|
| Web Server | Nginx, Apache, or cloud CDN | curl http://your-server/ |
| dbt Project | Existing dbt project | dbt debug |
| Server Access | SSH or deployment access | Can upload files to server |
| Database Service | Data warehouse already ingested | Check Settings → Services |
HTTP Server Options
Option 1: S3 + CloudFront (Recommended)
Combine S3 storage with CloudFront CDN for HTTPS and global access. Setup:- Follow S3 guide to create bucket and upload artifacts
- Create CloudFront distribution:
- Configure Collate with CloudFront URL:
- URL:
https://d123abc.cloudfront.net/dbt/
- URL:
Option 2: Nginx Static File Server
Install Nginx:/etc/nginx/sites-available/dbt-artifacts:
Option 3: Apache Static File Server
Install Apache:/etc/apache2/sites-available/dbt-artifacts.conf:
Step 2: Upload Artifacts from dbt
2.1 Manual Upload with rsync
2.2 Automated Upload in Airflow DAG
2.3 Upload with curl (Simple HTTP POST)
If your server accepts POST requests:Step 3: Configure Collate
Configuration
- Go to Settings → Services → Database Services
- Click on your database service
- Go to the Ingestion tab
- Click Add Ingestion
- Select dbt from the dropdown
| Field | Value | Notes |
|---|---|---|
| dbt Configuration Source | HTTP | Select from dropdown |
| dbt Catalog HTTP Path | http://artifacts.yourcompany.com/dbt/catalog.json | Full URL to catalog.json |
| dbt Manifest HTTP Path | http://artifacts.yourcompany.com/dbt/manifest.json | Full URL to manifest.json |
| dbt Run Results HTTP Path | http://artifacts.yourcompany.com/dbt/run_results.json | Full URL to run_results.json (optional) |
| Field | Value |
|---|---|
| Username | your-username |
| Password | your-password |
| Field | Recommended Value |
|---|---|
| Update Descriptions | Enabled |
| Update Owners | Enabled |
| Include Tags | Enabled |
| Classification Name | dbtTags |
Verification
Security Considerations
Enable HTTPS
Use Let’s Encrypt for free SSL certificates:Add Basic Authentication
For Nginx:IP Whitelisting
For Nginx:Troubleshooting
| Issue | Symptom | Solution |
|---|---|---|
| 403 Forbidden | Access denied | Check file permissions: chmod 644 /var/www/dbt-artifacts/*.json |
| 404 Not Found | Files not found | Verify file paths and Nginx/Apache config |
| Connection Timeout | Can’t reach server | Check firewall rules, ensure port 80/443 open |
| CORS Error | Browser blocks request | Add CORS headers to web server config |
| Stale Data | Old metadata | Verify upload happens after dbt completes |