The GroCMS handbook
Documentation sources
Implementation references and official documentation behind the GroCMS guides.
Repository references identify files in the GroCMS source checkout. They are plain citations, not public file downloads. Official links explain the underlying technologies; the implemented product behavior described in each guide takes precedence over an upstream feature that GroCMS does not enable.
Getting started
- Workspace navigation and screen routing
Repository path:
apps/cms/src/components/admin/shell.tsx - Content editor controls
Repository path:
apps/cms/src/components/admin/resource-editor.tsx - Revision and publication service
Repository path:
apps/cms/src/cms/services/content.ts - Account invitation workflow
Repository path:
apps/cms/src/cms/auth/people.ts - Initial workspace setup
Repository path:
apps/cms/scripts/setup.ts - Documentation routes and rendering
Repository path:
apps/cms/src/components/documentation/article.tsx - Reviewed public guide selection and links
Repository path:
apps/cms/src/cms/documentation/public.ts
How the CMS works
- Resource and revision contracts
Repository path:
apps/cms/src/cms/contracts.ts - Registered content types
Repository path:
apps/cms/src/cms/definitions/index.ts - Save, publish, restore, preview and schedule services
Repository path:
apps/cms/src/cms/services/content.ts - Public snapshot and query loader
Repository path:
apps/cms/src/cms/services/public.ts - Private media access and versioning
Repository path:
apps/cms/src/cms/services/media.ts - Role and capability policy
Repository path:
apps/cms/src/cms/policy/index.ts - Transactional queue configuration
Repository path:
apps/cms/src/cms/jobs/queue.ts - Worker execution and retry handling
Repository path:
apps/cms/src/worker/handlers.ts - PostgreSQL 18: Transaction Isolation
Repeatable-read background; CMS access policy is implemented in the cited source.
- ORM Transaction Adapters
Explains transaction-bound enqueue; the application pins 12.30.0, while this rolling documentation currently identifies 12.31.0.
Technology stack
- Pinned dependencies and commands
Repository path:
apps/cms/package.jsonApplication baseline 9e608fe; the lockfile records the resolved dependency tree.
- Web and operations image definitions
Repository path:
Dockerfile - Production process and PostgreSQL configuration
Repository path:
compose.yaml - Relational CMS schema
Repository path:
apps/cms/src/cms/db/schema.ts - Migration, integrity and privilege setup
Repository path:
apps/cms/scripts/migrate.ts - Public eligibility and search queries
Repository path:
apps/cms/src/cms/services/public.ts - Shared Puck component configuration
Repository path:
apps/cms/src/cms/components/config.tsx - Server-side content validation
Repository path:
apps/cms/src/cms/validation.ts - Authentication integration contract
Repository path:
apps/cms/src/cms/auth/README.md - Verification and acceptance evidence
Repository path:
docs/build-status.md - Measured performance and limits
Repository path:
docs/evidence/performance.md - Executed operations and recovery evidence
Repository path:
docs/evidence/operations-runtime.md - Self-hosting Next.js
Framework background; application-specific packaging comes from Dockerfile.
- Drizzle schema declarations
- Getting Started
- Next.js integration
Glossary
- Core content contracts
Repository path:
apps/cms/src/cms/contracts.ts - Registered content definitions
Repository path:
apps/cms/src/cms/definitions/index.ts - Database schema
Repository path:
apps/cms/src/cms/db/schema.ts - Revision and publication workflow
Repository path:
apps/cms/src/cms/services/content.ts - Visual component configuration
Repository path:
apps/cms/src/cms/components/config.tsx - Supported brand token controls
Repository path:
apps/cms/src/components/admin/brand-fields.tsx - Public component styles and theme limits
Repository path:
apps/cms/src/app/globals.css - Public rendering data resolution
Repository path:
apps/cms/src/cms/services/public.ts - Operational terminology and recovery
Repository path:
docs/operations.md - Deployment services
Repository path:
compose.yaml
Overview
- Overview screen
Repository path:
apps/cms/src/components/admin/dashboard.tsxCurrent labels, shortcuts and six-entry recent-content table.
- Overview and workflow queries
Repository path:
apps/cms/src/cms/services/management.tsPermission-filtered counts, review decisions, queue search and pagination.
- Content lists and creation dialogs
Repository path:
apps/cms/src/components/admin/content-list.tsxSearch, status filters, selection, pagination and creation controls.
- Resource editor
Repository path:
apps/cms/src/components/admin/resource-editor.tsxContent fields, permissions, autosave, history, publication and scheduling dialogs.
- Content and publication service
Repository path:
apps/cms/src/cms/services/content.tsDraft isolation, route rules, profile ownership, exact review/schedule targets and recovery.
- Resource permission policy
Repository path:
apps/cms/src/cms/policy/index.tsAdministrator, editor, author, contributor and designer capabilities.
- Optional enquiry inbox and delivery rules
Repository path:
apps/cms/src/cms/services/enquiries.tsPrivate demo/quote submissions, administrator access, notification state and deletion.
- Administrator enquiry inbox
Repository path:
apps/cms/src/components/admin/enquiries-panel.tsx
Pages
- Content types and taxonomies
Repository path:
apps/cms/src/cms/definitions/index.tsPages, Posts, Events, Vehicles and their allowed classifications.
- Resource permission policy
Repository path:
apps/cms/src/cms/policy/index.tsAdministrator, editor, author, contributor and designer capabilities.
- Content lists and creation dialogs
Repository path:
apps/cms/src/components/admin/content-list.tsxSearch, status filters, selection, pagination and creation controls.
- Resource editor
Repository path:
apps/cms/src/components/admin/resource-editor.tsxContent fields, permissions, autosave, history, publication and scheduling dialogs.
- Reference selection dialog
Repository path:
apps/cms/src/components/admin/reference-picker.tsxSearch, taxonomy selector, multiple selection and older result pages.
- Content and publication service
Repository path:
apps/cms/src/cms/services/content.tsDraft isolation, route rules, profile ownership, exact review/schedule targets and recovery.
- Published-content integration tests
Repository path:
apps/cms/tests/integration/public.test.tsPage moves, redirects, publication isolation, taxonomy queries and historical restore.
- Editor browser journeys
Repository path:
apps/cms/tests/editor-browser.tsActual autosave, conflict recovery, rich text, media replacement and older selections.
- Bulk actions
Repository path:
apps/cms/src/components/admin/bulk-actions.tsxPer-entry decisions, saved-revision publication and selected-snapshot downloads.
Posts
- Content types and taxonomies
Repository path:
apps/cms/src/cms/definitions/index.tsPages, Posts, Events, Vehicles and their allowed classifications.
- Resource permission policy
Repository path:
apps/cms/src/cms/policy/index.tsAdministrator, editor, author, contributor and designer capabilities.
- Resource editor
Repository path:
apps/cms/src/components/admin/resource-editor.tsxContent fields, permissions, autosave, history, publication and scheduling dialogs.
- Content lists and creation dialogs
Repository path:
apps/cms/src/components/admin/content-list.tsxSearch, status filters, selection, pagination and creation controls.
- Reference selection dialog
Repository path:
apps/cms/src/components/admin/reference-picker.tsxSearch, taxonomy selector, multiple selection and older result pages.
- Content and publication service
Repository path:
apps/cms/src/cms/services/content.tsDraft isolation, route rules, profile ownership, exact review/schedule targets and recovery.
- Two-role review browser journey
Repository path:
apps/cms/tests/review-browser.tsContributor submission and editor publication of the exact reviewed revision.
- Published-content integration tests
Repository path:
apps/cms/tests/integration/public.test.tsPage moves, redirects, publication isolation, taxonomy queries and historical restore.
- Editor browser journeys
Repository path:
apps/cms/tests/editor-browser.tsActual autosave, conflict recovery, rich text, media replacement and older selections.
- Bulk actions
Repository path:
apps/cms/src/components/admin/bulk-actions.tsxPer-entry decisions, saved-revision publication and selected-snapshot downloads.
Media library
- Media library screen
Repository path:
apps/cms/src/components/admin/media-library.tsxBatch upload, search, pages and media details; no delete button is provided.
- Media replacement dialog
Repository path:
apps/cms/src/components/admin/media-version-form.tsxName, alternative text and optional replacement file create a new version.
- Media storage and access rules
Repository path:
apps/cms/src/cms/services/media.tsFile validation, normalisation, immutable versions, private delivery and retained-reference deletion protection.
- Resource permission policy
Repository path:
apps/cms/src/cms/policy/index.tsAdministrator, editor, author, contributor and designer capabilities.
- Editor browser journeys
Repository path:
apps/cms/tests/editor-browser.tsActual autosave, conflict recovery, rich text, media replacement and older selections.
Review queue
- Review and schedule screens
Repository path:
apps/cms/src/components/admin/operations.tsxExact submitted-revision inspection, decisions, publication and cancellation controls.
- Overview and workflow queries
Repository path:
apps/cms/src/cms/services/management.tsPermission-filtered counts, review decisions, queue search and pagination.
- Content and publication service
Repository path:
apps/cms/src/cms/services/content.tsDraft isolation, route rules, profile ownership, exact review/schedule targets and recovery.
- Resource editor
Repository path:
apps/cms/src/components/admin/resource-editor.tsxContent fields, permissions, autosave, history, publication and scheduling dialogs.
- Resource permission policy
Repository path:
apps/cms/src/cms/policy/index.tsAdministrator, editor, author, contributor and designer capabilities.
- Two-role review browser journey
Repository path:
apps/cms/tests/review-browser.tsContributor submission and editor publication of the exact reviewed revision.
Publishing schedule
- Resource editor
Repository path:
apps/cms/src/components/admin/resource-editor.tsxContent fields, permissions, autosave, history, publication and scheduling dialogs.
- Content and publication service
Repository path:
apps/cms/src/cms/services/content.tsDraft isolation, route rules, profile ownership, exact review/schedule targets and recovery.
- Publication and worker integration tests
Repository path:
apps/cms/tests/integration/publication.test.tsPinned scheduling, cancellation, restart, retries and dependency protection.
- Local date and time input
Repository path:
apps/cms/src/components/admin/local-datetime-input.tsxLocal time, daylight-saving gaps and explicit ambiguous-time choices.
- Resource permission policy
Repository path:
apps/cms/src/cms/policy/index.tsAdministrator, editor, author, contributor and designer capabilities.
- Review and schedule screens
Repository path:
apps/cms/src/components/admin/operations.tsxExact submitted-revision inspection, decisions, publication and cancellation controls.
- Overview and workflow queries
Repository path:
apps/cms/src/cms/services/management.tsPermission-filtered counts, review decisions, queue search and pagination.
Languages and translations
- Localization implementation and operations guide
Repository path:
docs/localization.md - Language configuration and prefix validation
Repository path:
apps/cms/src/cms/services/localization.ts - Administrator language setup
Repository path:
apps/cms/src/components/admin/languages.tsx - Translation editing controls
Repository path:
apps/cms/src/components/admin/translations.tsx - Resource editor sessions and recovery
Repository path:
apps/cms/src/components/admin/resource-editor.tsx - Translation creation and revision ownership
Repository path:
apps/cms/src/cms/services/content.ts - Typed translation reference remapping
Repository path:
apps/cms/src/cms/translations.ts - Localized public rendering and search
Repository path:
apps/cms/src/cms/services/public.ts - Locale variant migration
Repository path:
apps/cms/drizzle/0006_locale_variants.sql - Default-language site manifest contract
Repository path:
apps/cms/scripts/site-manifest.ts
Homepage
- Public page selection and resource resolution
Repository path:
apps/cms/src/cms/services/public.tsHomepage and template precedence, published resource selection, connected collections, menus, and shared dependencies.
- Public website frame and theme application
Repository path:
apps/cms/src/app/site-view.tsxHeader, footer, default layouts, archive listings, brand colors, and WOFF2 font application.
- Reference website content
Repository path:
apps/cms/scripts/seed.tsInitial home template, shared resources, brand, navigation, and example content.
- Resource editor and design resource fields
Repository path:
apps/cms/src/components/admin/resource-editor.tsxNative controls, autosave, publication actions, permissions, template keys, homepage settings, and navigation link editing.
- Puck integration and editor configuration
Repository path:
apps/cms/src/cms/editor/composition-editor.tsxAvailable canvas sizes, native rich text, remote resource pickers, patterns, and read-only behavior.
- Configured website components
Repository path:
apps/cms/src/cms/components/config.tsxThe actual component labels, editable fields, slot definitions, and rendering behavior.
- Role and resource permissions
Repository path:
apps/cms/src/cms/policy/index.tsDesign resources belong to administrator and designer capabilities; content permissions differ.
- Built-in layout patterns
Repository path:
apps/cms/src/cms/editor/patterns.tsWelcome, article, and two-column layouts; copied components receive independent identifiers.
- Settings navigation
Repository path:
apps/cms/src/components/admin/settings.tsxSettings overview and the Manage settings route to the site settings record.
- Revision and publication service
Repository path:
apps/cms/src/cms/services/content.tsImmutable revisions, required published dependencies, cycle checks, preview selection, and publication actions.
- Website component styles
Repository path:
apps/cms/src/app/globals.cssResponsive columns, typography, public theme variables, section tones and hero decoration.
Visual editor
- Puck integration and editor configuration
Repository path:
apps/cms/src/cms/editor/composition-editor.tsxAvailable canvas sizes, native rich text, remote resource pickers, patterns, and read-only behavior.
- Resource editor and design resource fields
Repository path:
apps/cms/src/components/admin/resource-editor.tsxNative controls, autosave, publication actions, permissions, template keys, homepage settings, and navigation link editing.
- Configured website components
Repository path:
apps/cms/src/cms/components/config.tsxThe actual component labels, editable fields, slot definitions, and rendering behavior.
- Slot field
Framework background only: a slot is a nested drag-and-drop area. GroCMS limits come from its own validation.
- Rich Text Editing
Framework background only. GroCMS provides its own configured controls and canonical HTML persistence.
- Built-in layout patterns
Repository path:
apps/cms/src/cms/editor/patterns.tsWelcome, article, and two-column layouts; copied components receive independent identifiers.
- Editor browser verification
Repository path:
apps/cms/tests/editor-browser.tsSave/reload evidence for canonical rich text, slots, copied layouts, brand tokens, menus, and remote selection.
- Website component styles
Repository path:
apps/cms/src/app/globals.cssResponsive columns, typography, public theme variables, section tones and hero decoration.
- Public page selection and resource resolution
Repository path:
apps/cms/src/cms/services/public.tsHomepage and template precedence, published resource selection, connected collections, menus, and shared dependencies.
- Content and composition validation
Repository path:
apps/cms/src/cms/validation.tsLayout size, nesting, supported components, safe links, menu limits, color validation, and resource references.
- Revision and publication service
Repository path:
apps/cms/src/cms/services/content.tsImmutable revisions, required published dependencies, cycle checks, preview selection, and publication actions.
- Role and resource permissions
Repository path:
apps/cms/src/cms/policy/index.tsDesign resources belong to administrator and designer capabilities; content permissions differ.
Templates
- Public page selection and resource resolution
Repository path:
apps/cms/src/cms/services/public.tsHomepage and template precedence, published resource selection, connected collections, menus, and shared dependencies.
- Configured website components
Repository path:
apps/cms/src/cms/components/config.tsxThe actual component labels, editable fields, slot definitions, and rendering behavior.
- Resource editor and design resource fields
Repository path:
apps/cms/src/components/admin/resource-editor.tsxNative controls, autosave, publication actions, permissions, template keys, homepage settings, and navigation link editing.
- Puck integration and editor configuration
Repository path:
apps/cms/src/cms/editor/composition-editor.tsxAvailable canvas sizes, native rich text, remote resource pickers, patterns, and read-only behavior.
- Built-in layout patterns
Repository path:
apps/cms/src/cms/editor/patterns.tsWelcome, article, and two-column layouts; copied components receive independent identifiers.
- Revision and publication service
Repository path:
apps/cms/src/cms/services/content.tsImmutable revisions, required published dependencies, cycle checks, preview selection, and publication actions.
- Public website frame and theme application
Repository path:
apps/cms/src/app/site-view.tsxHeader, footer, default layouts, archive listings, brand colors, and WOFF2 font application.
- Role and resource permissions
Repository path:
apps/cms/src/cms/policy/index.tsDesign resources belong to administrator and designer capabilities; content permissions differ.
Brand & theme
- Brand foundations form
Repository path:
apps/cms/src/components/admin/brand-fields.tsxColor and font controls, logo selection, and validated brand token import/export.
- Official GroCMS brand defaults
Repository path:
apps/cms/src/cms/brand/preset.tsApproved Concept 05 assets, accessible action colors, official site defaults and product interface tokens.
- Shared public brand resolver
Repository path:
apps/cms/src/cms/brand/theme.tsSaved overrides, legacy font choices, custom assets, logo display and supported version-one tokens.
- Site icon and social image selection
Repository path:
apps/cms/src/cms/brand/metadata.tsPublished custom icon and social-image selection, official fallbacks and preview metadata behavior.
- Public website frame and theme application
Repository path:
apps/cms/src/app/site-view.tsxHeader, footer, default layouts, archive listings, brand colors, and WOFF2 font application.
- Public page selection and resource resolution
Repository path:
apps/cms/src/cms/services/public.tsHomepage and template precedence, published resource selection, connected collections, menus, and shared dependencies.
- Role and resource permissions
Repository path:
apps/cms/src/cms/policy/index.tsDesign resources belong to administrator and designer capabilities; content permissions differ.
- Configured website components
Repository path:
apps/cms/src/cms/components/config.tsxThe actual component labels, editable fields, slot definitions, and rendering behavior.
- Content and composition validation
Repository path:
apps/cms/src/cms/validation.tsLayout size, nesting, supported components, safe links, menu limits, color validation, and resource references.
- Website component styles
Repository path:
apps/cms/src/app/globals.cssResponsive columns, typography, public theme variables, section tones and hero decoration.
- Media validation and immutable versions
Repository path:
apps/cms/src/cms/services/media.tsSupported uploads, WOFF2 handling, access checks, and replacement versions.
- Revision and publication service
Repository path:
apps/cms/src/cms/services/content.tsImmutable revisions, required published dependencies, cycle checks, preview selection, and publication actions.
- Editor browser verification
Repository path:
apps/cms/tests/editor-browser.tsSave/reload evidence for canonical rich text, slots, copied layouts, brand tokens, menus, and remote selection.
- Resource editor and design resource fields
Repository path:
apps/cms/src/components/admin/resource-editor.tsxNative controls, autosave, publication actions, permissions, template keys, homepage settings, and navigation link editing.
People & permissions
- Role and ownership policy
Repository path:
apps/cms/src/cms/policy/index.ts - People screen
Repository path:
apps/cms/src/cms/auth/people-panel.tsx - Invitation and access-change service
Repository path:
apps/cms/src/cms/auth/people.ts - Account forms
Repository path:
apps/cms/src/cms/auth/forms.tsx - Authentication and current-account resolution
Repository path:
apps/cms/src/cms/auth/server.ts - Content ownership and protected fields
Repository path:
apps/cms/src/cms/services/content.ts - Media access policy
Repository path:
apps/cms/src/cms/services/media.ts
Activity log
- Activity log interface
Repository path:
apps/cms/src/components/admin/operations.tsx - Audit filtering and pagination
Repository path:
apps/cms/src/cms/services/management.ts - Audit permission
Repository path:
apps/cms/src/cms/policy/index.ts - Content audit events
Repository path:
apps/cms/src/cms/services/content.ts - People audit events
Repository path:
apps/cms/src/cms/auth/people.ts - Workspace export payload
Repository path:
apps/cms/src/app/api/cms/[...path]/route.ts - Backup and recovery runbook
Repository path:
docs/operations.md
Settings
- Settings hub
Repository path:
apps/cms/src/components/admin/settings.tsx - Core update management screen
Repository path:
apps/cms/src/components/admin/system-updates.tsx - Core update authority and request contracts
Repository path:
apps/cms/src/cms/api/updates.ts - System updates guide
Repository path:
docs/system-updates.md - Site settings fields and save flow
Repository path:
apps/cms/src/components/admin/resource-editor.tsx - Public homepage and configuration selection
Repository path:
apps/cms/src/cms/services/public.ts - Settings publication validation
Repository path:
apps/cms/src/cms/services/content.ts - Registered public archive routes
Repository path:
apps/cms/src/cms/definitions/index.ts - Design and administrator permissions
Repository path:
apps/cms/src/cms/policy/index.ts - Production services and environment
Repository path:
compose.yaml - Environment configuration template
Repository path:
.env.example
Account & security
- Account security interface
Repository path:
apps/cms/src/cms/auth/security-panel.tsx - Sign-in, reset and MFA forms
Repository path:
apps/cms/src/cms/auth/forms.tsx - Authentication configuration
Repository path:
apps/cms/src/cms/auth/server.ts - Provisioning and account state
Repository path:
apps/cms/src/cms/auth/people.ts - Better Auth: Email & Password
Library background; the GroCMS configuration determines its actual password and recovery rules.
- Better Auth: Two-Factor Authentication
Library background for time-based codes and recovery codes; see local source for the enabled interface.
API keys & content export
- API key controls and export link
Repository path:
apps/cms/src/components/admin/settings.tsx - CMS API routes and export implementation
Repository path:
apps/cms/src/app/api/cms/[...path]/route.ts - Bearer credential resolution and API request authentication
Repository path:
apps/cms/src/cms/http.ts - Permission and scope intersection
Repository path:
apps/cms/src/cms/policy/index.ts - REST API contract
Repository path:
docs/api-contract.md - Selected-content export format and scope
Repository path:
apps/cms/src/components/admin/bulk-actions.tsx - Content list selection and full-export permission
Repository path:
apps/cms/src/components/admin/content-list.tsx - Backup operations
Repository path:
docs/operations.md
Content types and extensions
- Installed type and taxonomy registry
Repository path:
apps/cms/src/cms/definitions/index.ts - TypeDefinition and supported scalar fields
Repository path:
apps/cms/src/cms/contracts.ts - Content type builder and catalogue
Repository path:
apps/cms/src/components/admin/type-builder.tsx - Content type retirement and permanent deletion
Repository path:
apps/cms/src/cms/services/type-lifecycle.ts - Content-type and component extension contract
Repository path:
docs/developer-guide.md - Field, composition and reference validation
Repository path:
apps/cms/src/cms/validation.ts - Component rendering and fields
Repository path:
apps/cms/src/cms/components/config.tsx - Archive route registration
Repository path:
apps/cms/src/cms/services/content.ts - Capability rules
Repository path:
apps/cms/src/cms/policy/index.ts - SQL visibility rules
Repository path:
apps/cms/src/cms/policy/query.ts - Relational schema
Repository path:
apps/cms/src/cms/db/schema.ts - Executed generic extension exercise
Repository path:
docs/evidence/extension-exercise.md - Drizzle schema declarations
Schema and migration-generation background; CMS compatibility rules are application-specific.
Local setup
- Local installation and verification
Repository path:
README.md - Supported Node engine and npm scripts
Repository path:
apps/cms/package.json - Private local environment generator
Repository path:
scripts/init-local.mjs - Development PostgreSQL and Mailpit services
Repository path:
compose.dev.yaml - Application and queue migration runner
Repository path:
apps/cms/scripts/migrate.ts - First account and installation setup
Repository path:
apps/cms/scripts/setup.ts - Starter resource creation
Repository path:
apps/cms/scripts/starters.ts - Optional demo and untouched-starter guard
Repository path:
apps/cms/scripts/seed.ts - Separate worker process
Repository path:
apps/cms/src/worker/index.ts - Isolated test database initializer
Repository path:
scripts/init-test.mjs - Control startup and shutdown order in Compose
Production setup and upgrades
- Production services and environment
Repository path:
compose.yaml - Validated installation feature switches
Repository path:
apps/cms/src/cms/installation.ts - Public documentation route protection
Repository path:
apps/cms/src/cms/services/content.ts - Private enquiry processing
Repository path:
apps/cms/src/cms/services/enquiries.ts - Standalone and operations images
Repository path:
Dockerfile - Deployment and operational policy
Repository path:
docs/operations.md - Production environment generator
Repository path:
scripts/ops/init-production-env.mjs - Initial production database roles
Repository path:
ops/postgres/001-roles.sh - Controlled deployment helper
Repository path:
scripts/ops/deploy.mjs - Deployment lock and migrations
Repository path:
apps/cms/scripts/migrate.ts - Private production bootstrap helper
Repository path:
scripts/ops/setup.mjs - First administrator and minimal starter site
Repository path:
apps/cms/scripts/setup.ts - Demo seed protection
Repository path:
apps/cms/scripts/seed.ts - Readiness endpoint
Repository path:
apps/cms/src/app/api/ready/route.ts - Worker readiness and paused mode
Repository path:
apps/cms/src/worker/index.ts - Verified production installation
Repository path:
docs/evidence/final-production-install.json - Self-hosting Next.js
Server/browser environment distinction and reverse-proxy background.
Backup and restore
- Database and media backup helper
Repository path:
scripts/ops/backup.mjs - Fresh-target restore helper
Repository path:
scripts/ops/restore.mjs - Archive checksums and operations guards
Repository path:
scripts/ops/common.mjs - Recovery policy and retention commands
Repository path:
docs/operations.md - Paused worker behavior
Repository path:
apps/cms/src/worker/index.ts - Full content and media recovery verification
Repository path:
docs/evidence/full-content-restore.json - Measured dataset and capacity limits
Repository path:
docs/evidence/performance.md - Audited retention and interrupted cleanup
Repository path:
scripts/ops/retention.ts - PostgreSQL 18: SQL Dump
Database snapshot, restore and role prerequisites; filesystem coordination is provided by the CMS helper.
- PostgreSQL official Docker image
PostgreSQL 18 storage layout and initialization behavior.
Troubleshooting
- Structured CMS errors
Repository path:
apps/cms/src/cms/errors.ts - Request errors and authenticated API boundary
Repository path:
apps/cms/src/cms/http.ts - Local save state and conflict recovery
Repository path:
apps/cms/src/components/admin/resource-editor.tsx - Draft and publication validation
Repository path:
apps/cms/src/cms/validation.ts - Publication, preview and schedule rules
Repository path:
apps/cms/src/cms/services/content.ts - Current role capabilities
Repository path:
apps/cms/src/cms/policy/index.ts - Immutable media and access eligibility
Repository path:
apps/cms/src/cms/services/media.ts - Published and preview content eligibility
Repository path:
apps/cms/src/cms/services/public.ts - Worker process and health
Repository path:
apps/cms/src/worker/index.ts - Retry and blocked-state handling
Repository path:
apps/cms/src/worker/handlers.ts - Queue setup and retry configuration
Repository path:
apps/cms/src/cms/jobs/queue.ts - Production runtime configuration
Repository path:
compose.yaml - Local infrastructure configuration
Repository path:
compose.dev.yaml - Migration failure and deployment behavior
Repository path:
scripts/ops/deploy.mjs - Schema and media readiness checks
Repository path:
apps/cms/src/app/api/ready/route.ts - Preserved existing local configuration
Repository path:
scripts/init-local.mjs - Normal and stress workload evidence
Repository path:
docs/evidence/performance.md - Operational diagnosis and recovery policy
Repository path:
docs/operations.md - Current verification inventory
Repository path:
docs/build-status.md - PostgreSQL official Docker image
Initialization variables apply to an empty data directory; existing databases require deliberate credential changes.