Operations
Use this section if you deploy, upgrade, or respond to incidents on an installed Capell site.
The operations surface brings the pre-deployment checks together: Site Health reports on sites, languages, themes, migrations, queues, and public-output readiness. Where the optional optimiser is installed, administrators can see PageSpeed status alongside page operations. Upgrade runs retain durable records and state their rollback boundary, so an operator can distinguish a reversible application step from a database or infrastructure restore.
| I need to… | Read |
|---|---|
| Put a new install on a public domain | Going live |
| Check whether the site is ready for traffic | Site Health |
| Report operational failures consistently | Operational reporting |
| Back up or restore data | Backups and restore |
| Block public traffic during an incident | Lockdown |
| Upgrade packages and plan rollback | Upgrades |
| Diagnose an installed site | Troubleshooting |
| Debug Marketplace connection or installs | Debugging Marketplace |
| Prepare a host for Marketplace operations | Marketplace hosting |
| Plan a reversible migration away | Export and exit plan |
| Configure nginx/Apache or scale to >1 node | Web server configuration |
| Make public and dynamic requests faster | Making Capell fast |
| Run Capell on Laravel Octane | Octane |
| Split public and authoring processes | Runtime roles |
First Checks
Section titled “First Checks”| Symptom | Check |
|---|---|
| Public pages are stale | Cache state, queue worker, optional HTML Cache package, CDN purge. |
| Admin is missing pages/settings | php artisan optimize:clear, permissions, package install state. |
| Install exhausts PHP memory | Resume the installer and identify the unbounded step in the installation report. |
| Jobs or scheduled work are idle | Check the queue worker and scheduler separately. |
| Install fails in CI | Missing non-interactive flags or private Composer credentials. |
| Marketplace cannot install | Account connection, Marketplace URL, webhook URL, package compatibility. |
| Public output looks unsafe | Search response HTML for authoring markers, model IDs, signed admin URLs, selectors, package names. |
Site Health
Section titled “Site Health”Site Health is the operator-facing read-only page for launch and post-deploy checks. It shows whether public traffic can be served safely before anyone edits content.
Use it to check:
- cache and static-output state
- public HTML safety
- server/runtime readiness
- optimizer/static generation readiness when optional packages are installed
- package and extension health signals
If Site Health reports a missing optional package table, check whether the package is installed and whether its migrations have run before treating it as a host bug.
Use the Site Health runbook for the full check list.
Lockdown
Section titled “Lockdown”Lockdown blocks public frontend traffic and most admin access during a suspected compromise or high-risk maintenance window. Break-glass admins can still access the admin surface.
Use Lockdown when:
- public content may be unsafe
- package state is inconsistent after a failed deploy
- you need to stop cached public pages while investigating
After enabling or disabling Lockdown, clear runtime caches and verify public routes from a signed-out browser. The Lockdown runbook covers enable/disable commands, break-glass access, and verification steps.
Upgrades
Section titled “Upgrades”Standard host upgrade flow:
composer update capell-app/capell -Wphp artisan capell:upgradephp artisan optimize:clearphp artisan queue:restartBefore upgrading production, check:
- database,
.env, andstorage/backups exist - queue workers can run
- optional package migrations are included
php artisan list capellshows expected package commands- Site Health is clean or known issues are documented
Rollback behavior depends on the app deploy platform and database backup strategy. Capell can record upgrade state, but it cannot replace infrastructure-level rollback.
Use the backup and restore runbook before production changes. Use the upgrade runbook for durable run tracking, package compatibility, migrations, cache clearing, and post-upgrade checks. For a product-facing explanation of the feature, use Durable Upgrade Operations.
Backup Health And Recovery Drills
Section titled “Backup Health And Recovery Drills”Capell Core can create database/media snapshots, verify freshness and artifact checksums, enforce retention, and restore only into isolated scratch targets.
php artisan capell:backup:createphp artisan capell:backup:health --jsonphp artisan capell:backup:pruneAlert on a non-zero health exit. Run capell:backup:prune without --force first, and schedule a scratch restore drill at least monthly. The backup and restore runbook contains configuration, scheduling, restore, cleanup, and production-recovery boundaries.
Use the export and exit plan to inventory portable data, create Migration Assistant packages, rehearse a move, and retain a safe rollback window when leaving Capell or moving between installations.
Marketplace
Section titled “Marketplace”Marketplace account linking establishes the site identity used for protected installs and update access.
Useful checks:
php artisan config:show capell-marketplace.marketplace.base_urlphp artisan config:show capell-marketplace.marketplace.webhook_urlphp artisan config:clearThe default Marketplace API URL is:
CAPELL_MARKETPLACE_URL=https://capell.app/api/v1Use the Marketplace package overview for account connection, heartbeat, cache, and install-authorization details. Use Marketplace hosting for capability tiers and remediation, and Troubleshooting for copy-paste checks.
For deeper Marketplace incidents, use Debugging Marketplace.
Common Fixes
Section titled “Common Fixes”Troubleshooting holds the full, copy-paste fix for each of these. Match your symptom, then click through for the cause, commands, and what you should see afterwards.
| Symptom | Fix |
|---|---|
/admin returns 403 or login loops | 403 or cannot log in |
| Dashboard loads but Capell resources are missing | Pages or Settings are missing |
| Published pages still show old content | Published pages still show old content |
| Frontend shows Laravel’s welcome page | Laravel’s default welcome page |
Non-interactive install fails with Required. | NonInteractiveValidationException: Required. |
| Composer cannot find Capell packages | composer require cannot find the package |
| PHP runs out of memory during install | Resume and isolate the interrupted installer step |
| A queued install or task never starts | Configure and check the queue worker |
| Scheduled tasks never run | Configure Laravel’s scheduler |
| The visible error is too generic | Find the installation logs |
| Vite cannot resolve package CSS imports | Can't resolve 'swiper/...' during npm run build |
For the full list of error strings and fixes, see Troubleshooting.