Swush
Architecture

Storage Pipeline

How files are stored and served.

  1. Upload received (direct or chunked)
  2. File stored via storage driver
  3. Metadata saved to DB
  4. Optional preview + HLS jobs enqueued

Storage drivers:

  • Local filesystem
  • S3-compatible object storage

Diagram

flowchart LR
  Client[Client] -->|Upload| API[API /api/v1/upload]
  API -->|Store| Storage[Storage Driver]
  API -->|Write metadata| DB[(Postgres)]
  API -->|Enqueue| Jobs[Background Jobs]
  Jobs --> Preview[Preview PNG]
  Jobs --> HLS[HLS segments]
  Preview --> Storage
  HLS --> Storage

On this page