Files
tiku-backend.net/Tiku.Api/appsettings.json

172 lines
3.9 KiB
JSON

{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"Microsoft.AspNetCore": "Warning",
"Microsoft.EntityFrameworkCore.Database.Command": "Warning",
"System.Net.Http.HttpClient": "Warning"
}
},
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithThreadId"
],
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext} {Message:lj} {Properties:j}{NewLine}{Exception}"
}
}
],
"Properties": {
"Application": "Tiku.Api"
}
},
"OpenTelemetry": {
"OtlpEndpoint": ""
},
"Cors": {
"AllowedOrigins": [],
"AllowedHeaders": [
"Authorization",
"Content-Type",
"x-tenant-code"
],
"AllowedMethods": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"OPTIONS"
],
"AllowCredentials": false
},
"RateLimiting": {
"Enabled": true,
"PermitLimit": 600,
"WindowSeconds": 60,
"QueueLimit": 0,
"Authentication": {
"PasswordPermitLimit": 5,
"PasswordWindowSeconds": 900,
"SmsPermitLimit": 5,
"SmsWindowSeconds": 300
}
},
"Authentication": {
"Sms": {
"CodePepper": "",
"MaxVerificationAttempts": 5,
"TenantRequestsPerHour": 100,
"PhoneRequestsPerHour": 5,
"IpRequestsPerHour": 20,
"DeviceRequestsPerHour": 10
}
},
"Redis": {
"KeyPrefix": "tiku"
},
"TenantDomains": {
"Enabled": true,
"PollSeconds": 60,
"BatchSize": 50,
"DnsJsonEndpoint": "https://cloudflare-dns.com/dns-query",
"VerificationRecordPrefix": "_tiku-verification",
"AllowedCnameTargets": [],
"GatewayBaseUrl": null,
"GatewayApiKey": null,
"EnableDevelopmentLocalhostBypass": false
},
"TenantProvisioning": {
"DefaultBaseOfferingCode": "starter",
"DefaultTrialDays": 14,
"OwnerActivationMinutes": 30,
"OwnerActivationUrlTemplate": "https://{host}"
},
"SaasSubscriptions": {
"Enabled": true,
"BatchSize": 100,
"PastDueGraceDays": 7
},
"FeatureUsageReconciliation": {
"Enabled": true,
"BatchSize": 100,
"IntervalMinutes": 60
},
"BrowserAuth": {
"AllowedOrigins": []
},
"Storage": {
"DefaultProvider": "aliyun_oss",
"DefaultBucket": "tenant-assets",
"PublicBaseUrl": "",
"MaxUploadBytes": 524288000,
"AllowedMimePrefixes": [
"image/",
"video/",
"audio/"
],
"AllowedMimeTypes": [
"application/pdf",
"application/json",
"application/gzip",
"text/csv",
"application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
],
"RequireTenantPrefix": true,
"AliyunOss": {
"Region": "",
"Endpoint": "",
"AccessKeyId": "",
"AccessKeySecret": "",
"SecurityToken": "",
"UseInternalEndpoint": false,
"UsePathStyle": false,
"UseCName": false,
"PresignDefaultMinutes": 15
}
},
"Security": {
"AuthorizationCache": {
"Mode": "Disabled",
"LocalSnapshotSeconds": 60,
"DistributedStateSeconds": 60,
"DistributedSnapshotSeconds": 300,
"JitterPercent": 20
},
"Jwt": {
"Issuer": "tiku-backend",
"Audience": "tiku-api",
"KeyId": "",
"PrivateKeyPem": "",
"PublicKeys": {},
"AccessTokenMinutes": 15,
"RefreshTokenDays": 30
},
"TenantSecrets": {
"KeyId": "",
"MasterKey": ""
},
"ClamAV": {
"Host": "localhost",
"Port": 3310,
"TimeoutSeconds": 30,
"ChunkBytes": 65536,
"StreamMaxLength": 524288000
},
"DataProtection": {
"ApplicationName": "Tiku.Api",
"CertificatePath": "",
"CertificatePassword": ""
}
},
"AllowedHosts": "*"
}