Ctrl K
ComunidadGuías…

config/config.example.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "$schema": "./config.schema.json",
  "servers": [
    {
      "name": "Main",
      "url": "http://actual-main:5006",
      "password": "your_password_here",
      "syncId": "your_sync_id_here",
      "dataDir": "/app/dataDir_Main_temp",
      "encryptionPassword": "your_budget_encryption_password_if_encrypted",
      "scheduleAlerts": {
        "staleAfterDays": 3,
        "alerts": [
          { "id": "rent", "schedule": "Rent - Apartment", "graceDays": 6 },
          { "id": "salary", "schedule": "Salary", "graceDays": 3, "earlyDays": 5, "amountTolerancePct": 0 },
          { "id": "gym", "schedule": "Gym", "enabled": false }
        ]
      }
    },
    {
      "name": "Secondary",
      "url": "http://actual-Secondary:5006",
      "password": "your_password_here",
      "syncId": "your_sync_id_here",
      "dataDir": "/app/dataDir_Secondary_temp",
      "scheduleAlerts": { "alerts": [] },
      "sync": {
        "schedule": "0 4 * * *",
        "maxRetries": 3,
        "baseRetryDelayMs": 5000
      },
      "logging": {
        "level": "DEBUG",
        "format": "json"
      }
    }
  ],
  "sync": {
    "maxRetries": 5,
    "baseRetryDelayMs": 3000,
    "schedule": "03 03 */2 * *",
    "autoRetry": {
      "enabled": true,
      "maxAttempts": 1,
      "delayMinutes": 31
    }
  },
  "logging": {
    "level": "INFO",
    "format": "pretty",
    "fileFormat": "json",
    "includeAccountNames": false,
    "logDir": "./logs",
    "rotation": {
      "enabled": true,
      "maxSize": "10M",
      "interval": "1d",
      "maxFiles": 30,
      "compress": "gzip"
    },
    "syslog": {
      "enabled": false,
      "host": "localhost",
      "port": 514,
      "protocol": "udp",
      "facility": 16
    },
    "performance": {
      "enabled": true,
      "thresholds": {
        "slow": 1000,
        "verySlow": 5000
      }
    }
  },
  "healthCheck": {
    "port": 3000,
    "host": "0.0.0.0",
    "trustProxy": false,
    "hsts": false,
    "auth": {
      "type": "none"
    },
    "dashboard": {
      "enabled": true,
      "allowedOrigins": [],
      "allowConfigWrites": false,
      "auth": {
        "type": "none"
      }
    }
  },
  "syncHistory": {
    "dbPath": "data/sync-history.db",
    "retentionDays": 90
  },
  "prometheus": {
    "enabled": true,
    "includeDefaultMetrics": true
  },
  "notifications": {
    "branding": true,
    "notifyOnSuccess": "errors_only",
    "email": {
      "enabled": false,
      "host": "smtp.gmail.com",
      "port": 587,
      "secure": false,
      "auth": {
        "user": "your-email@gmail.com",
        "pass": "your-app-specific-password"
      },
      "from": "your-email@gmail.com",
      "to": ["admin@example.com"]
    },
    "telegram": {
      "enabled": false,
      "botToken": "YOUR_BOT_TOKEN",
      "chatId": "YOUR_CHAT_ID",
      "pollInterval": 2000
    },
    "webhooks": {
      "slack": [],
      "discord": [],
      "telegram": [],
      "generic": [
        {
          "name": "example-ntfy-json",
          "url": "https://ntfy.sh/your-topic",
          "notifyOnSuccess": "always",
          "headers": { "Authorization": "Bearer YOUR_NTFY_TOKEN" }
        }
      ]
    },
    "ntfy": {
      "enabled": false,
      "url": "https://ntfy.sh/your-topic",
      "token": "",
      "priorityOnFailure": "high",
      "priorityOnSuccess": "default",
      "tags": ["money_with_wings"],
      "icon": "https://raw.githubusercontent.com/agigante80/Actual-sync/main/unraid/actual-sync-icon.png"
    },
    "thresholds": {
      "consecutiveFailures": 3,
      "failureRate": 0.5,
      "ratePeriodMinutes": 60
    },
    "rateLimit": {
      "minIntervalMinutes": 15,
      "maxPerHour": 4
    }
  }
}