2 min read
S3 object storage
Connect Amazon S3 or a compatible service such as MinIO through the S3 API. Supports object reads and writes, directory listings, moves, and copies.
Adapter type: s3. See Common configuration for mounting instructions.
Setup
- Create a bucket and record its name, region, and API endpoint.
- Create an access key with bucket listing, object read/write/delete, and required multipart upload permissions.
- Normally omit
endpoint_urlfor AWS S3. For compatible services, use the S3 API endpoint including its scheme, rather than the management console URL. - Optionally isolate files under a bucket prefix such as
foxelusingroot.
Configuration
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
download_segment_size_mb | number | No | 8 | Download segment size in MiB, clamped to 1–64. |
download_concurrency | number | No | 4 | Concurrent download segments, clamped to 1–16. |
multipart_part_size_mb | number | No | 8 | Upload part size in MiB, clamped to 5–64. |
multipart_concurrency | number | No | 4 | Concurrent upload parts, clamped to 1–16. |
bucket_name | string | Yes | — | Existing bucket name, not a URL. |
access_key_id | string | Yes | — | Access key ID authorized for this bucket. |
secret_access_key | password | Yes | — | Matching secret access key. |
region_name | string | No | — | Bucket region as required by your provider. |
endpoint_url | string | No | — | HTTP(S) S3 API endpoint; usually omitted for AWS S3. |
root | string | No | "" | Directory on the backend, separate from the mount path displayed in Foxel. |
Example
This is a config object. In the admin form, fill the corresponding fields rather than pasting the whole object. Replace credential placeholders with your own values.
json
{
"bucket_name": "foxel-files",
"access_key_id": "YOUR_ACCESS_KEY",
"secret_access_key": "YOUR_SECRET_KEY",
"region_name": "us-east-1",
"endpoint_url": "https://s3.example.com",
"root": "foxel"
}
Behavior and limitations
rootis an object-key prefix without the bucket name. Directories are a logical view of prefixes.- Uploads and downloads default to 8 MiB parts with concurrency 4. Check bandwidth and memory before increasing concurrency.
- Moves and renames involve object copies and deletion, requiring both permissions.
Troubleshooting
- AccessDenied: check key policies, bucket policies, and allowed prefixes.
- Signature or region error: verify region, endpoint, and server time.
- Console works but listing fails: use the S3 API port; MinIO commonly uses separate API and console ports.
References
External documentation provides service and authorization context. Use this page and the current Foxel adapter for configuration fields and limitations.