Skip to content

Artisan Commands

Phillip Dornauer edited this page Apr 13, 2026 · 2 revisions

Artisan Commands

All commands run inside the Docker container:

docker compose exec app php artisan <command>

marble:install

Full installation: runs migrations, seeds the initial content tree, registers built-in field types, and publishes admin assets. Run once after initial setup.

docker compose exec app php artisan marble:install

marble:doctor

Health check for the Marble installation. Checks database tables, sites, blueprints, items, workflows, field types, mount points, and more.

docker compose exec app php artisan marble:doctor

marble:schedule-publish

Processes scheduled publishing and expiry. Publishes items where published_at <= now() and expires items where expires_at <= now().

docker compose exec app php artisan marble:schedule-publish

Add to Laravel scheduler in routes/console.php:

Schedule::command('marble:schedule-publish')->everyMinute();

marble:workflow-deadlines

Scans all items with active workflow steps that have a deadline_days configured. Notifies configured step owners (or all admins as fallback) about overdue items.

docker compose exec app php artisan marble:workflow-deadlines

Recommended schedule:

Schedule::command('marble:workflow-deadlines')->daily();

marble:prune

Prune old activity log entries and read notifications to keep the database lean.

docker compose exec app php artisan marble:prune
docker compose exec app php artisan marble:prune --activity-days=90 --notifications-days=30
docker compose exec app php artisan marble:prune --dry-run   # preview counts without deleting

Recommended schedule:

Schedule::command('marble:prune')->weekly();

marble:make-blueprint

Interactive generator for new blueprints. Creates the blueprint and its fields in the database, and generates a Blade view stub in resources/views/marble-pages/.

docker compose exec app php artisan marble:make-blueprint

marble:sync-field-types

Synchronises registered field types to the database. Run after adding or renaming custom field types.

docker compose exec app php artisan marble:sync-field-types

marble:clear-icon-cache

Clears the cached icon list used by the blueprint icon picker. Run after adding custom icons to the famicons asset folder. The cache rebuilds automatically after 24 hours.

docker compose exec app php artisan marble:clear-icon-cache

vendor:publish

# Publish admin CSS/JS
docker compose exec app php artisan vendor:publish --tag=marble-assets

# Force overwrite after updates
docker compose exec app php artisan vendor:publish --tag=marble-assets --force

# Publish migrations only
docker compose exec app php artisan vendor:publish --tag=marble-migrations

# Publish config only
docker compose exec app php artisan vendor:publish --tag=marble-config

migrate:fresh --seed

Wipe and re-seed the database. Warning: deletes all data.

docker compose exec app php artisan migrate:fresh --seed

view:clear

Clear compiled Blade views. Run after editing templates or admin views.

docker compose exec app php artisan view:clear

cache:clear

Clear the application cache, including cached Marble items.

docker compose exec app php artisan cache:clear

Clone this wiki locally