Hostflow relies on a scheduled task to run background jobs — including usage calculations, license checks, and billing sync with Stripe. This must be set up manually after installation.
Without a working cron job, time-based tasks (like calculating usage-based fees and reporting them to Stripe) won't run, even though the rest of Hostflow will appear to work normally.
On your host server (or wherever you can schedule cron jobs to run against your container), add the following entry to run every minute:
* * * * * docker exec hostflow php artisan schedule:run >> /dev/null 2>&1
Laravel's scheduler handles the timing internally — this cron entry just needs to trigger it every minute, and Hostflow takes care of the rest.
After setting up the cron job, check that scheduled tasks are actually firing. If billing calculations or license checks aren't happening, this is the first thing to check.
Once your scheduler is confirmed working, see Updating Hostflow for how to keep your instance current.