Overview
Discover what makes Solidus powerful
Solidus is a Ruby on Rails‑based, open‑source e‑commerce framework that prioritizes extensibility and control. Built on Rails 7+, it leverages the full Rails ecosystem—ActiveRecord, ActionCable, and Hotwire—to deliver a modern storefront while keeping the underlying business logic modular. The platform exposes a REST‑ful API alongside GraphQL support, allowing developers to build headless storefronts or integrate with external services such as payment gateways, shipping providers, and ERP systems.
Language & Framework
Database
Background Jobs
Caching & Performance
Overview
Solidus is a Ruby on Rails‑based, open‑source e‑commerce framework that prioritizes extensibility and control. Built on Rails 7+, it leverages the full Rails ecosystem—ActiveRecord, ActionCable, and Hotwire—to deliver a modern storefront while keeping the underlying business logic modular. The platform exposes a REST‑ful API alongside GraphQL support, allowing developers to build headless storefronts or integrate with external services such as payment gateways, shipping providers, and ERP systems.
Architecture
- Language & Framework: Ruby 3.x + Rails 7.x, with a heavy emphasis on modular engines (e.g.,
solidus_core,solidus_backend,solidus_frontend). Each engine can be swapped or extended independently. - Database: PostgreSQL is the default ORM backend, but any ActiveRecord‑compatible database can be used. Solidus ships with migrations that support schema versioning and data migration tooling.
- Background Jobs: Uses Sidekiq by default for asynchronous processing (order fulfillment, email notifications). Developers can replace it with Resque or DelayedJob if needed.
- Caching & Performance: Integrates with Redis for caching and session storage, enabling high‑throughput read/write operations. The API layer supports HTTP/2 and can be served behind a CDN for global latency reduction.
- Containerization: Dockerfiles are provided, and the community maintains Helm charts for Kubernetes deployments. The stack can be run in a single container or split into micro‑services (e.g., separating the API, admin UI, and background workers).
Core Capabilities
- Order & Inventory Management: Rich models for
Order,LineItem,Variant, andStockLocationwith built‑in state machines (state_machine) for order lifecycle. - Payment Integration: Abstract
Gatewayinterface supports Stripe, Braintree, Authorize.Net, and custom adapters. Webhooks can be configured to trigger order state changes. - Shipping & Tax: Configurable shipping calculators (
FlatRate,WeightBased) and tax engines that can be overridden with custom logic or external services (e.g., Avalara). - API & Webhooks: RESTful endpoints for products, orders, customers, and inventory. Supports OAuth2 scopes for granular permission control. Webhook endpoints can be registered to receive real‑time events.
- Admin UI: Built with React (via
solidus_admin) and Rails API, providing a responsive dashboard for product catalog, order management, analytics, and configuration.
Deployment & Infrastructure
Solidus is designed for self‑hosting, giving developers full control over data residency and compliance. Recommended infrastructure includes:
- Web Servers: Puma or Passenger behind Nginx/Apache.
- Background Workers: Sidekiq clusters with Redis persistence.
- Database Replication: PostgreSQL streaming replication for high availability.
- Scaling Strategy: Horizontal scaling of API workers and separate read replicas. The modular engine architecture allows gradual decoupling—e.g., moving the frontend to a separate Node.js service while keeping the core API intact.
Container images are available on Docker Hub (solidusio/solidus), and the project provides a docker-compose.yml for quick local setups. For production, Helm charts enable seamless deployment to Kubernetes with optional Istio service mesh integration.
Integration & Extensibility
- Plugin System: Solidus follows the Rails engine pattern; third‑party modules (e.g.,
solidus_payments,solidus_order_cycles) can be added via gems and mounted into the application. The community hosts a curated list of extensions on the Solidus website. - API Hooks: Callbacks (
after_create,before_update) and custom event handlers allow developers to inject business logic at critical points. - Webhooks: Out‑of‑the‑box support for subscribing to events like
order.completedorpayment.failed. Handlers can be configured via the admin UI. - Custom Themes: The frontend is built with Hotwire and Tailwind CSS, enabling developers to override templates or build completely custom storefronts while reusing the same backend logic.
Developer Experience
- Configuration: Centralized
config/solidus.rband environment‑specific YAML files let developers tweak everything from payment gateways to email delivery. - Documentation: Comprehensive guides on the official Solidus website cover installation, customization, API usage, and best practices. The codebase is heavily commented, and the Rails engine structure follows standard conventions.
- Community & Support: Active Slack channel, GitHub Discussions, and an Open Collective fund. Regular releases (monthly) keep the stack up to date with Rails 7+ and Ruby 3.x.
- Testing: The project ships with RSpec, Capybara, and FactoryBot setups. Continuous integration runs on GitHub Actions, ensuring code quality before merges.
Use Cases
- Enterprise B2C/B2B Stores – Companies needing a fully customizable checkout, complex inventory rules, and compliance with multiple tax jurisdictions.
- Headless Commerce – Developers can expose the Solidus API and build a React/Vue/Flutter storefront, leveraging the same order logic.
- Marketplace Platforms – The modular architecture allows adding vendor modules, commission calculations, and multi‑seller order flows. 4
Open SourceReady to get started?
Join the community and start self-hosting Solidus today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Umbraco
Open, scalable CMS empowering enterprises with speed and flexibility
EMQX
Scalable, secure MQTT platform for real‑time IoT data
PufferPanel
Centralized Game Server Management for All Platforms
Azimutt
Explore, design, and document complex database schemas
Middleware
Open‑source engineering analytics for DORA metrics
Kinto
Self-hosted other
