- How do I install and set up the Filament Google Drive backup manager plugin?
- Install it with Composer, publish the package config, and register the plugin on your Filament panel provider. You then create a Google Cloud OAuth client, paste the client ID, secret, and redirect URI into the config, and connect your Drive account through the panel UI. Finally set a backup schedule and make sure a queue worker is running.
- Which PHP, Laravel, and Filament versions does this package support?
- The package is still pre-1.0, so the supported matrix is defined by the Composer constraints in its composer.json rather than by a published long-term support policy. Check those constraints against your Laravel and Filament major versions before installing, especially if you are on Filament v4 or an older Laravel release. There is no confirmed 1.0 roadmap, so pinning a known-good version in composer.lock is advisable.
- Why do my Google Drive backups start failing with a 401 error after about a week?
- The most common cause is that your Google Cloud OAuth consent screen is still in Testing mode, where Google expires refresh tokens after roughly seven days. That alone reproduces a repeating 401 pattern regardless of package version, so publish the OAuth app to Production first. If the failures persist after publishing, the rotated refresh token may not be persisted, which means the stored credentials go stale and need a manual reconnect.
- Does the plugin automatically save a rotated Google refresh token, or do I have to reconnect the account manually?
- The release notes describe token minting and per-process caching but do not state whether a rotated refresh token is written back to storage. If it is not persisted, every rotation requires an operator to reconnect the account through the Filament UI, and the recent patch only shortens the time to diagnose the error rather than the time to recover. Verify this behaviour against the source or an open issue before relying on unattended scheduled backups.
- Do I need a queue worker and scheduler for scheduled Google Drive backups?
- Yes. The package is designed around Laravel-native primitives, so backup jobs run through the queue and the schedule is driven by Laravel's scheduler. You need a running queue worker on every environment that performs backups, plus the scheduler cron entry on the node that dispatches them. Horizon is a reasonable way to supervise the workers, and outbound HTTPS to Google's OAuth and API endpoints must be allowed from both web and worker nodes.
- Can I restore files from Google Drive backups inside Filament, or is it backup-only?
- The plugin advertises browsing, creating, and restoring backups from the admin panel, so restore is part of the intended workflow. However, the documentation does not describe a formal restore procedure, resumable or chunked uploads, or checksum verification of the uploaded files. Test a full restore on a staging project before you depend on it for recovery, since a backup feature without a verified restore path is a liability.
- Does this package support multiple Google accounts or per-tenant connections?
- Multi-account and multi-tenancy support is not documented and should be treated as unverified. A related concern is whether forgetDisk() on a shared worker could evict disk configuration another job depends on, which matters if you run concurrent backups in one process. Sequentially executed jobs are likely safe because each rebuilds the disk, but concurrent usage is worth testing before you build tenancy on top of it.
- Is this Filament Google Drive backup plugin stable enough for production?
- It is a pre-1.0 package with no stability guarantee, and the v0.4.x line has already changed error semantics in a release labelled as a patch, so observable behaviour can shift between minor versions. The architecture follows Laravel conventions for filesystem disks, queue jobs, and the scheduler, which is a good sign. Adopt it with a pinned version, a tested restore path, and monitoring around failed jobs rather than assuming drop-in reliability.
- How do I get alerted when a scheduled Google Drive backup fails?
- The package throws a clear exception when it cannot mint an access token, which improves log signal, but it is not documented whether the Filament UI surfaces that error as a notification. In practice you should monitor Laravel's failed_jobs table and add your own alerting hook, such as a job failure event listener or a scheduled health check. Without that, scheduled backups can fail silently for weeks.
- Are backups encrypted before upload to Google Drive, and is there a retention or pruning policy?
- Client-side encryption before upload is not mentioned in the package documentation, so assume files are stored in Google Drive in whatever form Laravel's filesystem sends them. Retention and pruning behaviour is also undocumented and it is unclear whether pruning deletes remote files and how narrowly those deletions are scoped. If your data is sensitive or your Drive quota matters, confirm both points in the source and consider wrapping the disk with your own encryption and lifecycle rules.