One scheduler for the installed release
Run the matching PHP 8.4 CLI as the application's Unix user from the private application directory. Configure the host's cron facility once per minute to invoke php artisan schedule:run. Use the absolute PHP/application paths appropriate to your host. Do not add duplicate separate renewal or provider cron entries merely because their tasks appear here.
| Entry point | Purpose and boundary |
|---|---|
emaila:tick |
Generates eligible renewal invoices/reminder candidates, queues due mail and emits system.tick; never directly suspends or terminates. |
emaila:domains-sync --limit=100 |
Queues due read-only registrar refreshes; limit accepts 1–1,000. Scheduled every five minutes. |
emaila:service-automation --dry-run |
Reports eligible/held hosting and lifecycle work without changing records or contacting a provider. |
emaila:service-automation |
Applies only explicitly enabled policies; separate provider writes can be irreversible. Scheduled every five minutes when enabled. |
emaila:doctor |
Checks operational readiness; failures require review rather than invented green status. |
emaila:doctor --integrity |
Hash-checks installed declared extension files without executing those files. |
emailabiller:licence-check |
The licensed distribution's direct product-permission health check; keep the installed licence integration and original identity. |
emailabiller:updates-check |
Hourly rights-aware update availability check; does not apply a full application replacement. |
emailabiller:licence |
Installed release's local licence preparation/status/recovery interface; inspect --help before use and never regenerate a working identity. |
emaila:recover-access EMAIL |
Interactive local-operator recovery for an existing administrator; resets password/MFA and invalidates sessions. |
emaila:mail-schema |
Newer read-only mail recovery schema check; the explicit --repair path requires its matching released core and verified backup. |
emaila:migration |
Newer bounded export preview/import; apply requires the exact reviewed digest and active administrator. |
emaila:core-update |
Matching signed core update transaction; use its documented stage/confirmation/recovery workflow. |
emaila:dev-core-update |
Development-only recovery/update tooling; not the normal signed production update path. |
Worker mode
When EMAILA_WORKER_MODE=cron, the scheduler runs a bounded database queue worker with stop-when-empty. A supervised worker is an alternative deployment choice; configure the release's worker mode consistently. Do not run multiple unreviewed processing arrangements. Queue jobs can include mail, registrar refresh and addon events. Keep the same .env, application key, storage and licence configuration in web and CLI contexts.
Confirm actual results
Inspect task/run status, scheduler heartbeat, queue backlog, failed jobs and the affected resource. A successful queue enqueue is not provider completion. Tick and provider tasks respect installation/migration locks. Check a held task before launching it manually. Source revisions differ: the licensed signed distribution's licence schedule must be preserved even if an unintegrated source branch omits it.

