UNCEFACT Storage Adapter
The UNCEFACT Storage Service is the default storage service bundled with the Reference Implementation.
About
The UNCEFACT Storage Service is a standalone service that provides public and private bucket-based storage for credentials, render templates, and other binary data. It supports encryption for private storage and returns URIs, integrity hashes, and decryption keys for stored items.
- Repository: github.com/uncefact/project-storage-service
- Docker image:
ghcr.io/uncefact/project-storage-serviceWhen using the Docker Compose configuration from the Reference Implementation repository, the storage service is provisioned automatically. When running the Reference Implementation Docker image standalone, the storage service must be provisioned separately — refer to the storage service repository for setup instructions.
Supported Version
The supported version of the UNCEFACT Storage Service is 3.2.1.
Environment Variables
The following environment variables configure the connection between the Reference Implementation and a UNCEFACT Storage Service instance:
| Variable | Description | Required | Default |
|---|---|---|---|
SYSTEM_STORAGE_BASE_URL | Base URL of the storage service | Yes | http://localhost:3334 |
SYSTEM_STORAGE_API_KEY | Authentication token for the storage service API | Yes | test123 |
SYSTEM_STORAGE_ADAPTER_TYPE | Must be set to UNCEFACT_STORAGE | Yes | UNCEFACT_STORAGE |
SYSTEM_STORAGE_SERVICE_NAME | Display name for this service instance | No | System Default Storage |
SYSTEM_STORAGE_SERVICE_DESCRIPTION | Description for this service instance | No | — |
SYSTEM_STORAGE_API_VERSION | API version | No | 3.1.0 |
SYSTEM_STORAGE_PUBLIC_BUCKET | Bucket name for public (unencrypted) storage | Yes | public-data |
SYSTEM_STORAGE_PRIVATE_BUCKET | Bucket name for private (encrypted) storage | Yes | private-data |
The public and private bucket names can be the same if separate buckets are not required.
These variables are used during startup to seed the default storage service instance into the system tenant.
API Configuration Schema
When creating or updating a UNCEFACT Storage service instance via the Services API, the config object must conform to the following schema:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
baseUrl | string (URL) | Yes | — | Base URL of the storage service (e.g., http://storage-service:3334) |
apiKey | string | No | — | Authentication token for the storage service API. Sensitive — masked in API responses. |
apiVersion | string | Yes | 3.1.0 | API version to use when communicating with the storage service. Currently only 3.1.0 is accepted. |
publicBucket | string | Yes | — | Bucket name for public (unencrypted) storage. Can be the same value as privateBucket. |
privateBucket | string | Yes | — | Bucket name for private (encrypted) storage. Can be the same value as publicBucket. |
Example:
{
"baseUrl": "https://storage.example.com",
"apiKey": "your-api-key",
"apiVersion": "3.1.0",
"publicBucket": "public-data",
"privateBucket": "private-data"
}