OCMS O

OCMS · docs

Manual after install

The admin

The admin lives at /admin/. Sidebar: dashboard, pages, products, categories, orders, modules, themes, settings. The admin language is switched at the bottom of the sidebar, independently of the storefront.

Adding products

  1. Products → “New product”.
  2. SKU (unique stock id), slug (URL part), a title per language, price, stock and images.
  3. Set the status to “Active” to show it; “Draft” is admin-only.

Type the price as the customer sees it; it is converted to the smallest unit for you.

Arranging pages

Pages → a page (e.g. “Home”). Layers and blocks on one side, the preview in the middle, the selected block’s settings on the other.

  • Drag a block from “Blocks” onto the preview or into the layers.
  • Switch the screen size at the top to tune phone and desktop separately.
  • Switch the preview language and write that language’s text.
  • “Save” makes a draft; “Publish” makes it live. History keeps every revision.

Theme and colours

Themes → “Activate” to switch, “Customise tokens” for colours, spacing, fonts and shadows. Switching themes never touches content.

Modules and payment gateways

Modules → “Install”. The permissions a module asks for are shown before installing. Once installed, use the “Settings” button on its card:

ModuleWhat to enter
ZarinpalMerchant ID. Turn “sandbox” on only for testing.
StripeThe sk_live_… key and, optionally, the webhook secret (whsec_…) for /api/payments/stripe/webhook.
Bank transferHow long an unpaid order is held.

Secret values are never shown again in the browser. An empty field means “keep the stored value”.

Orders

Orders → an order. Only allowed next states are offered (e.g. paid → processing → shipped). Cancel and return restock. An unpaid online order is cancelled automatically after 30 minutes.

Languages and currency

Settings → storefront languages, main language, store name and currency.

Account security

Settings → “Two-factor sign-in” → current password → add the key to your authenticator app → the 6-digit code → keep the ten recovery codes somewhere safe.

Command line

# all prefixed with: docker compose exec ocms
ocms setup-code                 # setup code (before install only)
ocms create-admin you@ex.com    # new admin; password from stdin
ocms modules                    # list modules
ocms module enable payment-manual
ocms audit-verify               # check the audit log was not tampered with
ocms 2fa-reset you@ex.com       # turn off 2FA for an account