CI / test (pull_request) Successful in 4s
This introduces deduplicated per-user image/3D asset records linked into feature properties, adds visibility-controlled download routing, and wires local S3-compatible storage with automatic bucket bootstrap in Docker Compose. Made-with: Cursor
1.1 KiB
1.1 KiB
Docker MinIO Local Development
Local object storage is provided by MinIO in docker-compose.yml.
Port policy
- MinIO S3 API (
9000) is internal-only (not published on host). - MinIO admin UI is exposed on
8774.
Services
minio: object storageminio-init: one-shot bucket bootstrap usingmcapi/api-dev: use MinIO via internal DNS endpointminio:9000
Environment variables
S3_ENDPOINT(defaultminio:9000)S3_BUCKET(defaultmomswap-assets)S3_REGION(defaultus-east-1)S3_ACCESS_KEY(defaultmomswap)S3_SECRET_KEY(defaultmomswap-secret)S3_USE_PATH_STYLE(defaulttrue)S3_USE_TLS(defaultfalse)
Start stack
./bin/gen-server-keys.sh
docker compose up --build -d
Verify storage setup
- Confirm only MinIO UI is published:
docker compose ps - Open MinIO admin console:
http://localhost:8774
- Confirm bucket exists (
momswap-assetsby default). - Use API flow:
- create asset and get signed upload URL
- upload file with PUT
- request
/v1/assets/{id}/download