Swush
Getting Started

Requirements

System prerequisites for running Swush.

Required

  • Runtime: Bun (recommended) or Node.js
  • Database: PostgreSQL
  • FFmpeg: required for media previews and HLS processing
  • Storage: local filesystem or S3-compatible storage for uploads and assets
  • SMTP server for email notifications
  • YT-DLP for Media remote downloads (optional, but recommended for that feature)
  • S3-compatible storage for large libraries
  • Reverse proxy (Caddy/Nginx) for TLS in production
  • Docker for simplified deployment and isolation

Capacity planning

  • Disk: enough space for uploads + preview/HLS assets
  • CPU: FFmpeg uses CPU for transcoding
  • Network: plan for upload bandwidth and remote media fetching
  • RAM: plan for concurrent uploads and previews

Install dependencies

bun install

If you use Docker, runtime dependencies are handled in the containers.

On this page