APIExtensionsDeveloperUserReleasesDemoSupport
  • Getting Started

    • Installation
    • Understanding Spree
  • Internals

    • Stores
    • Orders
    • Products
    • Payments
    • Shipments
    • Inventory
    • Promotions
    • Adjustments
    • Taxation
    • Calculators
    • Addresses
    • Preferences
  • Customization

    • Storefront
    • Templates
    • Assets (JS & CSS)
    • Images
    • Dependency system
    • Business Logic
    • Checkout Flow
    • Permissions
    • API v2
    • API v1
    • Authentication
    • Internationalization
    • Extensions
    • Emails
  • Advanced

    • Add Spree to an existing Ruby on Rails application
    • Improve SEO
    • Deface Overrides
    • Extend Product Attributes
    • Testing Spree Applications
  • Deployment

    • Amazon Web Services (AWS)
    • Heroku
  • Security

    • PCI Compliance
    • Authentication and Authorization
    • API
  • Contributing

    • Developing Spree
    • Creating an Extension
    • Updating Extensions for Spree 4
  • Upgrades

    • Upgrading Spree 4.1 to 4.2
    • Upgrading Spree 4.0 to 4.1
    • Upgrading Spree 3.7 to 4.0
    • Upgrading Spree from 3.6 to 3.7
    • Upgrading Spree from 3.5 to 3.6
    • Upgrading Spree from 3.4 to 3.5
    • Upgrading Spree from 3.3 to 3.4
    • Upgrading Spree from 3.2 to 3.3
    • Upgrading Spree from 3.1 to 3.2
    • Upgrading Spree from 3.0 to 3.1

Table Of Contents

AWS Elastic BeanstalkAWS ECSAWS EC2Recommended AWS services

Amazon Web Services (AWS)

Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.

AWS is also one of the most popular choices for hosting a Spree application. There are several services you can use to host Spree on AWS, here we’re briefly touch upon those options.

AWS Elastic Beanstalk

The easiest way to run Spree or any other Ruby on Rails application on AWS is through AWS Elastic Beanstalk which is comparable to Heroku PaaS (Platform as a Service).

This is the recommended approach if you’re just starting up. Please follow Beanstalk Deployment guide for more details.

AWS ECS

Another option is Elastic Container Service to host and deploy your Docker containers.

This is more advanced than Beanstalk and will require DevOps knowledge. For building Docker images we recommend you use Spree Starter Dockerfile.

AWS EC2

EC2 is the most basic offering, running a single or multiple instances of servers. This is the bare bones variant, you need to setup the deployment all by yourself using tools like Capistrano.

Recommended AWS services

  • AWS S3 - object storage service to store and read your uploaded files such as Product images etc. We do not recommend keeping your uploads on the same instance as the application.
  • AWS RDS - Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. Spree works great with multiple databases: Amazon Aurora (both MySQL and PostgreSQL variants), RDS PostgreSQL, RDS MySQL and RDS MariaDB
  • AWS ElastiCache Redis - we recommend setting up a Redis database for Active Job background queue, which we use for sending out transactional emails
  • AWS ElastiCache Memcached - we recommend using Memcached as a cache storage to increase performance and scalability of your Spree application
  • AWS CloudFront - fast content delivery network (CDN) to speed up your asset (images/stylesheets/javascripts) delivery. This will greatly enhance your application responsiveness.
Propose changes to this page
Maintained bySpree Commerce & Ruby on Rails developers© Spree Commerce. 2021 All Rights Reserved.