Guide

Scheduler

Add one cron entry that runs Laravel's scheduler every minute. Use absolute paths if the host has several PHP versions.

* * * * * cd /path/to/justdocs && php artisan schedule:run >> /dev/null 2>&1

JustDocs has no queue worker, so this one line is everything that runs in the background:

  • checking customers' domains (every five minutes) and moving them towards Live;
  • Git sync: applying pushes and sending releases to GitHub or GitLab (every minute, with a full pass every hour);
  • the daily analytics summary and the country database update;
  • checking outside links in the docs (nightly) and refreshing API pages from their OpenAPI addresses;
  • when billing is on: ending trials and subscriptions and sending their notices (hourly);
  • carrying out account deletions after their waiting period, pruning old Ask AI questions, and tidying cache files.

Danger

A missing scheduler looks like many unrelated bugs. Domains stay on "Waiting for DNS", Git sync waits, Insights show nothing after the first day, and trials never end. Site settings → Git sync and → Domains say when the scheduler hasn't run.