How it helps your business
Key Benefits
- Proven Reliability: Over a decade of development and a massive global contributor base.
- Unrivaled Modularity: Add or replace components (tax, shipping, payments) with ease.
- Headless & Omnichannel: Power web, mobile apps, and POS systems from a single backend.
- Developer-Friendly: Crystal clear Ruby code that is easy to audit and extend.
- Built for Growth: Scales from a single store to complex multi-tenant and multi-vendor ecosystems.
Production Architecture Overview
- App Server: Puma or Unicorn running the Rails application.
- PostgreSQL: The primary database for orders, products, and users.
- Redis: Used for background job queuing (Sidekiq) and session caching.
- Sidekiq Workers: Handle non-blocking tasks like email delivery and integration syncs.
- Nginx: Acts as a reverse proxy and serves static assets.
- CDN: For fast delivery of product images and frontend assets.
- Object Storage: S3 or Cloud Storage for media assets.
How we deploy this for you
Security Hardened
Firewalls, SSL, and hardened kernels out of the box.
Performance Tuned
Optimized for speed with cache and DB fine-tuning.
Automated Backups
Daily off-site backups so you never lose your data.
Private Cloud
You own the server and the data. No middleman.
Implementation Blueprint
Prerequisites
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start dockerDocker Compose Production Setup
version: '3.8'
services:
web:
image: your-spree-app:latest
command: bundle exec puma -C config/puma.rb
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://spree:password@db:5432/spree
- REDIS_URL=redis://redis:6379/1
depends_on:
- db
- redis
db:
image: postgres:14-alpine
environment:
- POSTGRES_USER=spree
- POSTGRES_PASSWORD=password
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
volumes:
postgres_data:
redis_data:Kubernetes Production Deployment (Recommended)
helm repo add spree https://spree.github.io/spree-helm-charts
helm install my-store spree/spree --namespace ecommerce --create-namespace- Horizontal Pod Autoscaling (HPA): Scale web and worker pods independently based on load.
- Secrets Management: Securely handle database credentials and API keys.
- Zero-downtime Deployments: Use rolling updates for safe production changes.
Scaling Strategy
- Database Performance: Use read-replicas for catalog browsing and search.
- Caching Layers: Implement full-page caching for guests and fragment caching for logged-in users.
- Worker Scaling: Increase Sidekiq concurrency and worker pods during sales events.
- Elasticsearch Integration: Offload heavy product searches to an external Elasticsearch/OpenSearch cluster.
Backups & Reliability
- Database Dumps: Automate nightly PostgreSQL backups to offsite storage.
- State Management: Ensure persistent volumes are used for any local file storage or logs.
- Health Checks: Configure Liveness and Readiness probes in Kubernetes.
- Error Tracking: Integrate Sentry or Honeybadger to monitor production exceptions.
Includes Security & performance standards
Best place to host Spree Commerce
We recommend Hostinger for its reliability and low cost. It's the perfect home for your new apps, featuring easy setup and 24/7 support.
Get Started on HostingerCompare Similar Tools
Kubernetes
Kubernetes is a production-grade, open-source platform for automating deployment, scaling, and operations of application containers.
Supabase
Supabase is the leading open-source alternative to Firebase. It provides a full backend-as-a-service (BaaS) powered by PostgreSQL, including authentication, real-time subscriptions, and storage.