spree-deployment
Installation
SKILL.md
Deploying Spree
Spree is a standard Rails 7+ application — most generic Rails deployment guides apply. This skill covers the Spree-specific pieces: the env vars Spree expects, the Sidekiq queue setup, the upgrade release command, and the ActiveStorage backends Spree integrates with.
Required environment variables
These must be set on every Spree deployment:
| Variable | Required | Notes |
|---|---|---|
SECRET_KEY_BASE |
Yes | 128-char hex. Generate with bin/rails secret. Must be stable across restarts (cookies, sessions, encrypted preferences depend on it). |
DATABASE_URL |
Yes | PostgreSQL connection URL. postgres://user:pass@host:5432/spree_production. |
REDIS_URL |
Yes | Used for caching, Sidekiq, ActionCable. redis://host:6379/0. |
RAILS_ENV |
Yes | production for production. Don't deploy development. |
RAILS_LOG_TO_STDOUT |
Not needed | spree-starter logs to stdout unconditionally — this variable is never read. Use RAILS_LOG_LEVEL (default info) to tune verbosity. |
PORT |
Conditional | Web server port. Platform-dependent — Heroku/Render inject; K8s expects container's. |