Files
backend/docs/docker-minio-local-dev.md
Andriy Oblivantsev f6f46f6db1
CI / test (pull_request) Successful in 4s
Add asset metadata, sharing, and MinIO-backed signed links.
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
2026-03-02 21:03:08 +00:00

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 storage
  • minio-init: one-shot bucket bootstrap using mc
  • api / api-dev: use MinIO via internal DNS endpoint minio:9000

Environment variables

  • S3_ENDPOINT (default minio:9000)
  • S3_BUCKET (default momswap-assets)
  • S3_REGION (default us-east-1)
  • S3_ACCESS_KEY (default momswap)
  • S3_SECRET_KEY (default momswap-secret)
  • S3_USE_PATH_STYLE (default true)
  • S3_USE_TLS (default false)

Start stack

./bin/gen-server-keys.sh
docker compose up --build -d

Verify storage setup

  1. Confirm only MinIO UI is published:
    docker compose ps
    
  2. Open MinIO admin console:
    • http://localhost:8774
  3. Confirm bucket exists (momswap-assets by default).
  4. Use API flow:
    • create asset and get signed upload URL
    • upload file with PUT
    • request /v1/assets/{id}/download