Compresso is a high-performance, cost-effective media compression system built with a focus on clean architecture and massive scalability.
The project follows a Distributed Monorepo pattern:
- Producer: Next.js App handles uploads & queuing.
- Consumer: Node.js Worker handles heavy CPU tasks.
- Messaging: RabbitMQ ensures tasks are processed reliably.
- Caching: Redis provides real-time job status.
- Storage: Streaming Local File System (Zero cost).
- Busboy Streaming: 1GB+ uploads with minimal RAM usage.
- Priority Queues: Images don't wait for Videos.
- FFmpeg slow preset: Best-in-class compression ratios.
- Janitor Service: Automatic cleanup of expired files.
- Install deps:
npm install - Infrastructure:
docker-compose up -d - Database: Update
.envwith Supabase details and runnpx prisma db pushinpackages/database. - Run:
npm run dev
apps/web: Next.js 14 Dashboard & APIapps/worker: Background Processing Enginepackages/domain: Compression Strategies (Strategy Pattern)packages/infra: RabbitMQ & Redis Providerspackages/database: Prisma & Supabase Configpackages/shared: Common Types & Schemas
Built for 10k users. Clean. Scalable. Free.