Example Commerce Installation
Part: Appendices
Chapter: 94
This appendix describes a commerce-focused installation intended for a mid-sized online storefront. It is the reference shape for customers who need catalog, checkout, order management, CMS pages, media, and an admin interface, but do not need the events-and-memberships vertical.
Module Composition
The installation composes the following official modules:
commerce-catalogcommerce-checkoutcommerce-orderscommerce-payments-stripecms-pagesmedia-libraryadmin-shelladmin-contentadmin-commerce
Core provides the runtime, auth engine, storage, caching, i18n, SEO, TLS, and WASM hosting beneath them all.
Reference Install Choices
[modules]
enabled = [
"commerce-catalog",
"commerce-checkout",
"commerce-orders",
"commerce-payments-stripe",
"cms-pages",
"media-library",
"admin-shell",
"admin-content",
"admin-commerce",
]
[cache]
l1 = "moka"
l2 = "redis"
[storage]
default_class = "public_upload"
The customer app still owns theme, copy, translations, and brand presentation, but the runtime and product behavior come from the composed platform layers.
Storefront Model
The storefront is server-rendered by default. Product detail pages, category pages, landing pages, and account pages are full HTML responses with progressive enhancement used for cart updates, filters, and small account interactions. This keeps SEO, performance, and memory usage aligned with the platform’s SSR-first design.
JSON APIs still exist, but they are reserved for integrations and the cases where a fragment-oriented HTML response is not the right fit.
Cache And Delivery Policy
The installation uses two cache layers:
mokaas in-process L1 for hot route and lookup cachingredisorvalkeyas distributed L2 for shared invalidation, locks, and coordinated cache state
Cache scoping is explicit:
- category and product pages are usually public but scoped by locale, currency, and site
- account pages, carts, and checkout are private or uncacheable
- CMS fragments are cacheable only when they do not depend on session or user capability state
Writes from catalog publishing, price changes, or content updates should invalidate product pages, collection listings, sitemaps, structured data fragments, and affected navigation entries together.
Storage And Assets
Storage policy is typical of a public storefront:
- build assets use
public_assetand publish through the deploy pipeline to object storage and CDN - product images and marketing media use
public_upload - invoices, exports, and support attachments use
private_shared - rare sensitive uploads can opt into
local_only_sensitive, but this should be exceptional because it complicates multi-node deployments
Managed media publication is still auth-governed. A product image may exist in object storage before it is publicly visible.
Auth Model
The default auth package is usually sufficient for a straightforward commerce install. Common bindings include:
- merchandisers who can edit products and collections
- content editors who can manage pages and SEO metadata
- finance or support staff who can read orders and issue refunds without broader catalog privileges
- administrators who can manage modules and runtime policy
Official modules consume capabilities such as catalog.product.edit, order.read, and order.refund.issue, which keeps the install compatible even if the customer later replaces the default relation graph.
SEO And Localization
The storefront enables:
- locale-aware routes and translated catalog content
- canonical URLs and redirect handling
- JSON-LD for
Organization,WebSite,Product,Offer, andBreadcrumbList - per-locale titles, descriptions, and open graph metadata
SEO is not an afterthought layered onto templates. It is emitted through the platform’s typed metadata and structured-data services so modules and customer templates stay consistent.
Operational Notes
A commerce installation should validate at least the following before launch:
- payment-provider credentials and webhook verification
- cache scoping around account, cart, and checkout paths
- media publication rules for public and restricted assets
- object-store and CDN behavior under rollout
- refund, order lookup, and audit trails in admin
This installation is a good baseline for most commerce customers because it exercises the full storefront stack while still preserving the platform boundary between core, official modules, and app-owned frontend composition.