Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Amazon Web Services
  3. carrierwave-aws

carrierwave-aws

MITRubyv1.1.0

An AWS-SDK storage adapter for CarrierWave that replaces fog with the official AWS SDK for S3.

GitHubGitHub
415 stars108 forks0 contributors

What is carrierwave-aws?

CarrierWave AWS is a Ruby gem that provides an AWS-SDK-based storage adapter for the CarrierWave file upload library. It allows Ruby applications, particularly those built with Rails, to store uploaded files directly on Amazon S3 using the official AWS SDK instead of the fog gem. It solves the problem of bloated dependencies and limited S3 API support by offering a lighter, more feature-complete alternative.

Target Audience

Ruby developers using CarrierWave for file uploads in Rails applications who need efficient, reliable S3 integration with minimal overhead.

Value Proposition

Developers choose CarrierWave AWS for its significantly smaller footprint, faster performance, and full AWS SDK feature support compared to fog, while maintaining easy migration and familiar configuration patterns.

Overview

AWS-SDK storage adapter for CarrierWave

Use Cases

Best For

  • Replacing fog with the official AWS SDK in CarrierWave-based apps
  • Reducing gem dependencies and boot times in Rails file upload setups
  • Accessing advanced S3 API features not supported by fog
  • Configuring IAM roles and bucket ACLs for secure S3 uploads
  • Generating signed URLs for private S3 content delivery
  • Migrating existing CarrierWave fog configurations to AWS SDK

Not Ideal For

  • Projects not using the CarrierWave library for file uploads
  • Applications requiring storage on cloud providers other than Amazon S3
  • Teams that need fog's multi-service capabilities beyond just S3 storage
  • Environments where avoiding AWS SDK due to corporate policies or compatibility issues

Pros & Cons

Pros

Official AWS SDK Integration

Uses the AWS SDK for Ruby, providing access to more S3 API features than fog, as highlighted in the README comparison table.

Reduced Resource Footprint

Significantly smaller disk space, lines of code, and faster boot times compared to fog, with specific metrics like 5.4M disk space versus fog's 28.0M.

Straightforward Migration

Configuration mirrors fog with minor changes like using aws_bucket instead of fog_directory, making it easy to switch for existing CarrierWave users.

Advanced URL Features

Supports signed URLs with CloudFront integration and custom headers for downloads, as detailed in the usage examples for secure content delivery.

Cons

AWS-Only Lock-in

Exclusively tied to Amazon S3, preventing use with other cloud storage providers without adopting a different adapter, which limits flexibility.

Migration Complexity

Some fog-specific patterns, like using query in URLs, require adjustments to header-based methods, potentially breaking existing code during transition.

Dependency on AWS SDK

Relies on the AWS SDK, which may introduce breaking changes or require frequent updates, impacting stability and maintenance efforts.

Frequently Asked Questions

Quick Stats

Stars415
Forks108
Contributors0
Open Issues6
Last commit4 months ago
CreatedSince 2013

Tags

#carrierwave#rails#ruby-gem#cloud-storage#aws-s3#file-upload#ruby-on-rails#storage-adapter

Built With

R
Ruby
A
AWS SDK for Ruby

Included in

Amazon Web Services14.0k
Auto-fetched 6 hours ago

Related Projects

miniominio

MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.

Stars60,940
Forks7,500
Last commit22 days ago
rclonerclone

"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files

Stars57,223
Forks5,093
Last commit1 day ago
filestashfilestash

:file_folder: File Management Platform / Universal Data Access Layer (without FUSE)

Stars14,201
Forks982
Last commit2 days ago
s3fs-fuses3fs-fuse

FUSE-based file system backed by Amazon S3

Stars9,849
Forks1,075
Last commit15 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub