Skip to main content
Version: v5.4.0

Maintenance

Settings → Admin → Maintenance (Settings → Maintenance in the desktop app) shows whether the instance is healthy and runs its background cleanup.

System check​

The system check tests the instance from both the server and your browser:

CheckWhat it confirms
Compute workerThe app can reach the worker.
Object storageThe storage bucket is reachable.
Playback secretA playback signing secret is available.
ProvidersAt least one shared TTS provider is enabled.
Address you openedThe address in your browser matches BASE_URL.
Playback audio URLYour browser can reach the worker's playback address, and it is not blocked as mixed content.

Each row reads OK, Check or Fix. Rows that are not OK say what is wrong and which setting fixes it. Choose Run again after changing configuration.

The desktop app adds Open logs folder here.

Scheduled tasks​

TaskDefault intervalWhat it does
Clean up unowned documents6 hoursRemoves document files and generated artifacts that no longer have an owner.
Clean up expired uploads1 hourRemoves temporary uploads that were never finished and DOCX conversions older than a day.
Clean up expired exports1 dayRemoves account export ZIPs after seven days. Audiobooks are kept until their audio is cleared.
Clean up compute history1 dayReleases expired compute leases and removes old limit counters and events.
Retry storage cleanup15 minutesDeletes audio and exports left by deleted documents and accounts. Retries cleanups that failed and runs a second pass after an account is deleted.
Delete idle guest accounts1 dayOff by default. Deletes guest accounts with no session for the Guest idle period (90 days by default, under Site features) and their data.
Find leftover storage10 minutesRuns once. Queues cleanup for audio and exports left by deletes before this version, then turns itself off.

You can turn each task on or off, change its interval, or run it now. Each task shows its last result, how long it took, and any error, which also goes to the server logs. A run that takes too long is stopped and recorded as failed.

Only one copy of a task runs at a time, even with several app instances.

How tasks are triggered​

  • Self-hosted and desktop: the app checks for due tasks every minute.
  • Vercel: there is no long-running server, so Vercel Cron calls /api/admin/tasks/tick. Set CRON_SECRET; requests without it are rejected. The included schedule runs once a day (the most Vercel Hobby allows), so intervals shorter than a day are not offered there.