Storage
The Storage category configures where Hawkra stores uploaded files such as report attachments, evidence screenshots, and other workspace file uploads. You can choose between local disk storage (the default) or S3-compatible object storage for scalability and external backups.
Settings Reference
| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| Storage Backend | storage_backend | Dropdown | local | local stores files in the file_storage Docker volume. s3 stores files in an S3-compatible bucket. |
| S3 Bucket Name | storage_s3_bucket | String | Empty | Name of the S3 bucket. Must already exist. |
| S3 Region | storage_s3_region | String | Empty | AWS region of the bucket (e.g., us-east-1, eu-west-1) |
| S3 Endpoint URL | storage_s3_endpoint | String | Empty | Custom endpoint for S3-compatible services. Leave empty for AWS S3. |
| AWS Access Key ID | aws_access_key_id | String | Empty | Access key for S3 authentication |
| AWS Secret Access Key | aws_secret_access_key | String | Empty | Secret key paired with the access key ID |
Local Storage
Files are stored in the file_storage Docker volume (path configurable via STORAGE_LOCAL_PATH, defaults to ./data/files). No additional configuration required.
S3 Storage Setup
Set Storage Backend to s3 and configure the S3 settings above. For S3-compatible providers, set the S3 Endpoint URL accordingly:
| Provider | Endpoint Format | Docs |
|---|---|---|
| AWS S3 | Leave empty (uses default) | docs.aws.amazon.com/s3 |
| MinIO | http://minio:9000 | min.io/docs |
| DigitalOcean Spaces | https://<region>.digitaloceanspaces.com | docs.digitalocean.com/products/spaces |
| Backblaze B2 | https://s3.<region>.backblazeb2.com | backblaze.com/docs/cloud-storage |
Example IAM Policy (AWS)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::hawkra-files",
"arn:aws:s3:::hawkra-files/*"
]
}
]
}
Configuration via Environment Variables
| Setting | Environment Variable |
|---|---|
| Storage Backend | STORAGE_BACKEND |
| S3 Bucket Name | STORAGE_S3_BUCKET |
| S3 Region | STORAGE_S3_REGION |
| S3 Endpoint URL | STORAGE_S3_ENDPOINT |
| AWS Access Key ID | AWS_ACCESS_KEY_ID |
| AWS Secret Access Key | AWS_SECRET_ACCESS_KEY |
Switching the storage backend from local to s3 (or vice versa) does not migrate existing files. Files uploaded under the previous backend remain in their original location. Only new uploads use the new backend. If you need to migrate existing files, you must copy them manually between storage locations.