Skip to content

0006 — MinIO for S3-compatible object storage

Status: reconstructed — needs confirmation

Context

KYC documents and generated PDFs need durable object storage. The backend code speaks the S3 API (@aws-sdk/client-s3 in libs/storage).

Decision

Self-hosted MinIO on the same VPS (minio/minio in deploy/docker-compose.yml, internal-only, bucket auto-created by the one-shot minio_init container). The apps reach it at S3_ENDPOINT=http://digigold_minio:9000.

Consequences

  • No cloud-storage bill or external dependency; S3 API compatibility keeps a later move to real S3 a config change.
  • Object durability is bounded by the single VPS disk — off-host mirroring is a documented follow-up (deploy/README.md), not yet implemented.