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  -->.      |Upload|          -->  API [/api/v1/upload]
  API     -->.      |Store|           -->  Storage [Storage Driver]
  API     -->.      |Write metadata|  -->  DB [(Postgres)]
  API     -->.      |Enqueue|         -->  Jobs [Background Jobs]
  Jobs    -->.      |Preview|         -->  Preview [Preview PNG]
  Jobs    -->.      |HLS|             -->  HLS [HLS segments]
  Preview -->.      |Store|           -->  Storage
  HLS     -->.      |Store|           -->  Storage

On this page