103 lines
3.1 KiB
PHP

<?php
use Spatie\Backup\Notifications\Notifiable;
use Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy;
use Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays;
use Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes;
return [
'backup' => [
/*
* The name of this application. You can use this name to monitor the backups.
*/
'name' => env('APP_NAME', 'laravel-backup'),
'source' => [
'files' => [
'include' => [
base_path(),
],
'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],
'follow_links' => false,
'ignore_unreadable_directories' => false,
'relative_path' => null,
'temporary_directory' => storage_path('app/backup-temp'),
],
'databases' => [
env('DB_CONNECTION', 'mysql'),
],
],
'database_dump_compressor' => null,
'database_dump_file_timestamp_format' => null,
'database_dump_filename_base' => 'database',
'database_dump_file_extension' => '',
'destination' => [
'compression_method' => \ZipArchive::CM_DEFAULT,
'compression_level' => 9,
'filename_prefix' => '',
'disks' => [
'local',
],
],
'temporary_directory' => storage_path('app/backup-temp'),
'password' => env('BACKUP_ARCHIVE_PASSWORD'),
'encryption' => 'default',
'tries' => 1,
'retry_delay' => 0,
],
'notifications' => [
'notifications' => [],
'notifiable' => Notifiable::class,
'mail' => [
'to' => env('BACKUP_MAIL_TO', 'your@example.com'),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
],
'slack' => [
'webhook_url' => env('BACKUP_SLACK_WEBHOOK', ''),
'channel' => null,
'username' => null,
'icon' => null,
],
'discord' => [
'webhook_url' => '',
'username' => '',
'avatar_url' => '',
],
],
'monitor_backups' => [
[
'name' => env('APP_NAME', 'laravel-backup'),
'disks' => ['local'],
'health_checks' => [
MaximumAgeInDays::class => 1,
MaximumStorageInMegabytes::class => 5000,
],
],
],
'cleanup' => [
'strategy' => DefaultStrategy::class,
'default_strategy' => [
'keep_all_backups_for_days' => 7,
'keep_daily_backups_for_days' => 0,
'keep_weekly_backups_for_weeks' => 0,
'keep_monthly_backups_for_months' => 0,
'keep_yearly_backups_for_years' => 0,
'delete_oldest_backups_when_using_more_megabytes_than' => PHP_INT_MAX,
],
'tries' => 1,
'retry_delay' => 0,
],
];