All checks were successful
Build MapleDeploy Coolify Image / build (push) Successful in 1m5s
Replace #6b16ed (Coolify purple) with #d52b1e (MapleDeploy red) and #fcd452 (Coolify yellow) with #fde047 (Tailwind yellow-300) across all form focus states, dirty indicators, chart colors, and theme tokens. Also fix warning color scale to use standard Tailwind yellow values.
125 lines
4.5 KiB
PHP
125 lines
4.5 KiB
PHP
<?php
|
|
|
|
return [
|
|
// MapleDeploy branding: registry pointed to Forgejo, auto-update disabled by default
|
|
'coolify' => [
|
|
'version' => '4.0.0-beta.463.7',
|
|
'helper_version' => '1.0.12',
|
|
'realtime_version' => '1.0.10',
|
|
'self_hosted' => env('SELF_HOSTED', true),
|
|
'autoupdate' => env('AUTOUPDATE', false),
|
|
'base_config_path' => env('BASE_CONFIG_PATH', '/data/coolify'),
|
|
'registry_url' => env('REGISTRY_URL', 'forgejo.mapledeploy.ca'),
|
|
'helper_image' => env('HELPER_IMAGE', 'ghcr.io/coollabsio/coolify-helper'),
|
|
'realtime_image' => env('REALTIME_IMAGE', 'ghcr.io/coollabsio/coolify-realtime'),
|
|
'is_windows_docker_desktop' => env('IS_WINDOWS_DOCKER_DESKTOP', false),
|
|
'cdn_url' => env('CDN_URL', 'https://updates.mapledeploy.ca'),
|
|
'versions_url' => env('VERSIONS_URL', env('CDN_URL', 'https://updates.mapledeploy.ca').'/coolify/versions.json'),
|
|
'upgrade_script_url' => env('UPGRADE_SCRIPT_URL', env('CDN_URL', 'https://updates.mapledeploy.ca').'/coolify/upgrade.sh'),
|
|
'releases_url' => 'https://cdn.coolify.io/releases.json',
|
|
],
|
|
|
|
'urls' => [
|
|
'docs' => 'https://mapledeploy.ca/docs',
|
|
'contact' => 'https://mapledeploy.ca/contact',
|
|
],
|
|
|
|
'services' => [
|
|
// Temporary disabled until cache is implemented
|
|
// 'official' => 'https://cdn.coollabs.io/coolify/service-templates.json',
|
|
'official' => 'https://raw.githubusercontent.com/coollabsio/coolify/v4.x/templates/service-templates-latest.json',
|
|
'file_name' => 'service-templates-latest.json',
|
|
],
|
|
|
|
'terminal' => [
|
|
'protocol' => env('TERMINAL_PROTOCOL'),
|
|
'host' => env('TERMINAL_HOST'),
|
|
'port' => env('TERMINAL_PORT'),
|
|
],
|
|
|
|
'pusher' => [
|
|
'host' => env('PUSHER_HOST'),
|
|
'port' => env('PUSHER_PORT'),
|
|
'app_key' => env('PUSHER_APP_KEY'),
|
|
],
|
|
|
|
'migration' => [
|
|
'is_migration_enabled' => env('MIGRATION_ENABLED', true),
|
|
],
|
|
|
|
'seeder' => [
|
|
'is_seeder_enabled' => env('SEEDER_ENABLED', true),
|
|
],
|
|
|
|
'horizon' => [
|
|
'is_horizon_enabled' => env('HORIZON_ENABLED', true),
|
|
'is_scheduler_enabled' => env('SCHEDULER_ENABLED', true),
|
|
],
|
|
|
|
'docker' => [
|
|
'minimum_required_version' => '24.0',
|
|
],
|
|
|
|
'ssh' => [
|
|
'mux_enabled' => env('MUX_ENABLED', env('SSH_MUX_ENABLED', true)),
|
|
'mux_persist_time' => env('SSH_MUX_PERSIST_TIME', 3600),
|
|
'mux_health_check_enabled' => env('SSH_MUX_HEALTH_CHECK_ENABLED', true),
|
|
'mux_health_check_timeout' => env('SSH_MUX_HEALTH_CHECK_TIMEOUT', 5),
|
|
'mux_max_age' => env('SSH_MUX_MAX_AGE', 1800), // 30 minutes
|
|
'connection_timeout' => 10,
|
|
'server_interval' => 20,
|
|
'command_timeout' => 3600,
|
|
'max_retries' => env('SSH_MAX_RETRIES', 3),
|
|
'retry_base_delay' => env('SSH_RETRY_BASE_DELAY', 2), // seconds
|
|
'retry_max_delay' => env('SSH_RETRY_MAX_DELAY', 30), // seconds
|
|
'retry_multiplier' => env('SSH_RETRY_MULTIPLIER', 2),
|
|
],
|
|
|
|
'invitation' => [
|
|
'link' => [
|
|
'base_url' => '/invitations/',
|
|
'expiration_days' => 3,
|
|
],
|
|
],
|
|
|
|
'email_change' => [
|
|
'verification_code_expiry_minutes' => 10,
|
|
],
|
|
|
|
// MapleDeploy branding: telemetry disabled
|
|
'sentry' => [
|
|
'sentry_dsn' => null,
|
|
],
|
|
|
|
'webhooks' => [
|
|
'dev_webhook' => env('SERVEO_URL'),
|
|
],
|
|
|
|
'bunny' => [
|
|
'storage_api_key' => env('BUNNY_STORAGE_API_KEY'),
|
|
'api_key' => env('BUNNY_API_KEY'),
|
|
],
|
|
|
|
'server_checks' => [
|
|
// Notification delay configuration for parallel server checks
|
|
// Used for Traefik version checks and other future server check jobs
|
|
// These settings control how long to wait before sending notifications
|
|
// after dispatching parallel check jobs for all servers
|
|
|
|
// Minimum delay in seconds (120s = 2 minutes)
|
|
// Accounts for job processing time, retries, and network latency
|
|
'notification_delay_min' => 120,
|
|
|
|
// Maximum delay in seconds (300s = 5 minutes)
|
|
// Prevents excessive waiting for very large server counts
|
|
'notification_delay_max' => 300,
|
|
|
|
// Scaling factor: seconds to add per server (0.2)
|
|
// Formula: delay = min(max, max(min, serverCount * scaling))
|
|
// Examples:
|
|
// - 100 servers: 120s (uses minimum)
|
|
// - 1000 servers: 200s
|
|
// - 2000 servers: 300s (hits maximum)
|
|
'notification_delay_scaling' => 0.2,
|
|
],
|
|
];
|