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

46 lines
1.1 KiB
Markdown

# 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
```bash
./bin/gen-server-keys.sh
docker compose up --build -d
```
## Verify storage setup
1. Confirm only MinIO UI is published:
```bash
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`