A Ruby-based file upload server with dynamic image resizing, cloud storage backup, and TUS protocol support.
Attache is a standalone file upload server written in Ruby that handles direct file uploads from browsers, dynamic image resizing, and cloud storage integration. It solves the problem of offloading file processing from your main application, enabling features like on-the-fly image transformations and reliable uploads over mobile networks.
Developers building web applications who need a scalable, self-hosted solution for handling file uploads with dynamic image processing and cloud storage backup.
Developers choose Attache for its simplicity, flexibility in image resizing without predefined styles, support for all file types, and built-in features like resumable uploads and configurable cloud storage per virtual host.
Yet another approach to file upload
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables on-demand image transformations using ImageMagick syntax without predefined styles, allowing flexible sizing as shown in the download API examples with geometries like '50x50%23'.
Supports unreliable networks via TUS protocol implementation, ensuring reliable file uploads over mobile connections, as highlighted in the 'But why?' section.
Allows different cloud storage configurations per request hostname from a single server, detailed in the Virtual Host Cloud Storage section with config/vhost.yml examples.
Uses sucker_punch or Sidekiq for background deletion and backup, reducing server load, with configurable options via INLINE_JOB or REDIS_URL as per the Configuration section.
Requires manual configuration of environment variables, vhost files, and cloud storage, with multiple deployment steps (Heroku, Docker, RubyGem) that can be error-prone for beginners.
Primarily designed for Ruby apps with libraries like attache-rails, making integration with non-Ruby stacks more challenging and limiting ecosystem support.
Focuses on basic image resizing; lacks built-in features for advanced processing like automatic format optimization, video thumbnails, or document previews.
Demands ongoing server management, scaling, and monitoring since it's self-hosted, which may not suit teams without dedicated DevOps resources or preferring SaaS solutions.