Platform services

Storage

The Storage service connects your project to an object storage bucket — Amazon S3 or any S3-compatible provider — validating the credentials and exposing the connection details as outputs for other services.

What it does

Dreambase POSTs webhook events to the Storage service; it verifies the bucket credentials, runs health checks, reports metrics, and executes function calls (object read/write/list/ delete and pre-signed URLs) — then calls back into the Dreambase API to report status, logs, and outputs (the bucket, region, endpoint, credentials, and URL).

Connection only — no provisioning

The Storage integrations connect to an existing bucket rather than creating one (doesNotDeploy: true). A “deployment” validates the connection and publishes its details as outputs. They run on Vercel without limitation, since every handler only makes outbound API calls.

Integrations

Each integration is its own webhook route:

POST/s3/webhook
Connect to an S3 (or S3-compatible) bucket
POST/object-storage/webhook
Generic object storage placeholder

S3-compatible providers

DigitalOcean Spaces, Cloudflare R2, MinIO, and other S3-compatible providers work through the Amazon S3 integration today — set a custom endpoint on a dedicated connection. Dedicated Spaces, Google Cloud Storage, and Azure Blob integrations are planned.

Configuration

The service is configured through environment variables:

VariableRequiredDescription
DREAMBASE_API_URLyesBase URL of the Dreambase API the service calls back into.
CORS_ORIGINSprodComma-separated allowed origins.
S3_SHARED_ACCESS_KEY_ID, S3_SHARED_SECRET_ACCESS_KEY, S3_SHARED_BUCKET, S3_SHARED_REGIONoptionalShared bucket credentials used for serverType=shared.
S3_SHARED_ENDPOINT, S3_SHARED_PUBLIC_BASE_URLoptionalCustom endpoint and public/CDN base URL for the shared bucket.
PORToptionalLocal server port (default 3013; unused on Vercel).