Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

741 lines
17 KiB

{
"mode": {
/*
* Use this flag to set Squidex to readonly, e.g. when you deploy a second instance for migration.
*/
"isReadonly": false
},
"urls": {
/*
* Set the base url of your application, to generate correct urls in background process.
*/
"baseUrl": "https://localhost:5001",
/*
* Set it to true to redirect the user from http to https permanently.
*/
"enforceHttps": false,
/*
* Set it to true to return a 400 if the host does not match.
*/
"enforceHost": false,
/*
* A list of known proxies to make forward headers safer.
*/
"knwonProxies": [],
/*
* Set it to true to use the X-Forwarded- headers for host name and scheme.
*/
"enableForwardHeaders": true,
/*
* A list of trusted hosts for redirects.
*/
"trustedHosted": []
},
"fullText": {
/*
* Define the type of the full text store.
*
* Supported: elastic (ElasticSearch). Default: MongoDB
*/
"type": "default",
"elastic": {
/*
* The configuration to your elastic search cluster.
*
* Read More: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-configuration.html
*/
"configuration": "http://localhost:9200",
/*
* The name of the index.
*/
"indexName": "squidex"
}
},
/*
* Define optional paths to plugins.
*/
"plugins": [
"Squidex.Extensions.dll"
],
"caching": {
/*
* Set to true, to use strong etags.
*/
"strongETag": false,
/*
* Restrict the surrogate keys to the number of characters.
*/
"maxSurrogateKeysSize": 0,
"replicated": {
/*
* Set to true to enable a replicated cache for app, schemas and rules. Increases performance but reduces consistency.
*/
"enable": true
}
},
"languages": {
/*
* Use custom languages where the key is the language code and the value is the english name.
*/
"custom": ""
},
"rules": {
/*
* The timeout to execute rule actions.
*/
"executionTimeoutInSeconds": 10
},
"ui": {
/*
* Regex suggestions for the UI
*/
"regexSuggestions": {
// Regex for emails.
"Email": "^[a-zA-Z0-9.!#$%&’*+\\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$",
// Regex for phone numbers.
"Phone": "^\\(*\\+*[1-9]{0,3}\\)*-*[1-9]{0,3}[-. /]*\\(*[2-9]\\d{2}\\)*[-. /]*\\d{3}[-. /]*\\d{4} *e*x*t*\\.* *\\d{0,4}$",
// Regex for slugs (e.g. hello-world).
"Slug": "^[a-z0-9]+(\\-[a-z0-9]+)*$",
// Regex for urls.
"Url": "^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:\\/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$"
},
/*
* True if only admins should be able to create apps.
*/
"onlyAdminsCanCreateApps": false,
"map": {
/*
* Define the type of the geolocation service.
*
* Supported: GoogleMaps, OSM
*/
"type": "OSM",
"googleMaps": {
/*
* The optional google maps API key. CREATE YOUR OWN PLEASE.
*/
"key": "AIzaSyB_Z8l3nwUxZhMJykiDUJy6bSHXXlwcYMg"
}
},
/*
* Redirect to login automatically.
*/
"redirectToLogin": false,
/*
* Hide the news dialog.
*/
"hideNews": false,
/*
* Hide all onboarding tooltips and dialogs.
*/
"hideOnboarding": false,
/*
* Hide the today and now button.
*/
"hideDateButtons": false,
/*
* Hide the Local/UTC button
*/
"hideDateTimeModeButton": false,
/*
* True to disable scheduled content status changed, for example when you have your own scheduling system.
*/
"disableScheduledChanges": false,
/*
* Show the exposed values as information on the apps overview page.
*/
"showInfo": false,
/*
* The number of content items for dropdown selector.
*/
"referencesDropdownItemCount": 100,
"google": {
/*
* The Google analtyics id
*/
"analyticsId": "UA-99989790-2"
}
},
"email": {
"smtp": {
/*
* The host name to your email server.
*/
"server": "",
/*
* The sender email address.
*/
"sender": "hello@squidex.io",
/*
* The username to authenticate to your email server.
*/
"username": "",
/*
* The password to authenticate to your email server.
*/
"password": "",
/*
* Always use SSL if possible.
*/
"enableSsl": true,
/*
* The port to your email server.
*/
"port": 587
},
"notifications": {
/*
* The email subject when a new user is added as contributor.
*/
"newUserSubject": "You have been invited to join Project $APP_NAME at Squidex CMS",
/*
* The email body when a new user is added as contributor.
*/
"newUserBody": "Welcome to Squidex\r\nDear User,\r\n\r\n$ASSIGNER_NAME ($ASSIGNER_EMAIL) has invited you to join Project (also called an App) $APP_NAME at Squidex Headless CMS. Login with your Github, Google or Microsoft credentials to create a new user account and start editing content now.\r\n\r\nThank you very much,\r\nThe Squidex Team\r\n\r\n<<Start now!>> [$UI_URL]",
/*
* The email subject when an existing user is added as contributor.
*/
"existingUserSubject": "[Squidex CMS] You have been invited to join App $APP_NAME",
/*
* The email body when an existing user is added as contributor.
*/
"existingUserBody": "Dear User,\r\n\r\n$ASSIGNER_NAME ($ASSIGNER_EMAIL) has invited you to join App $APP_NAME at Squidex Headless CMS.\r\n\r\nLogin or reload the Management UI to see the App.\r\n\r\nThank you very much,\r\nThe Squidex Team\r\n\r\n<<Start now!>> [$UI_URL]",
/*
* The email subject when app usage reached
*/
"usageSubject": "[Squidex CMS] You you are about to reach your usage limit for App $APP_NAME",
/*
* The email body when app usage reached
*/
"usageBody": "Dear User,\r\n\r\nYou you are about to reach your usage limit for App $APP_NAME at Squidex Headless CMS.\r\n\r\nYou have already used $API_CALLS of your monthy limit of $API_CALLS_LIMIT API calls.\r\n\r\nPlease check your clients or upgrade your plan!\r\n\r\n<<Go to Squidex!>> [$UI_URL]"
}
},
"robots": {
/*
* The text for the robots.txt file
*/
"text": "User-agent: *\nAllow: /api/assets/*"
},
"healthz": {
"gc": {
/*
* The maximum number of megabyte that the process can consume until it is marked as not healthy.
*/
"threshold": 4096
}
},
"contents": {
/*
* The default page size if not specified by a query.
*/
"defaultPageSize": 200,
/*
* The default page size for graphql if not specified by a query.
*/
"defaultPageSizeGraphQL": 20,
/*
* The maximum number of items to return for each query.
*
* Warning: Use pagination and not large number of items.
*/
"maxResults": 200
},
"assets": {
/*
* The default page size if not specified by a query.
*/
"defaultPageSize": 200,
/*
* The default page size for graphql if not specified by a query.
*/
"defaultPageSizeGraphQL": 20,
/*
* The maximum number of items to return for each query.
*
* Warning: Use pagination and not large number of items.
*/
"maxResults": 200,
/*
* The maximum file size in bytes. Default: 5MB
*/
"maxSize": 5242880,
/*
* True to delete assets recursively.
*/
"deleteRecursive": true
},
"logging": {
/*
* The log level.
*
* Trace, Debug, Information, Warning, Error, Fatal
*/
"level": "Information",
/*
* Setting the flag to true, enables well formatteds json logs.
*/
"human": true,
/*
* Set to true, to use colors.
*/
"colors": true,
/*
* Set to false to disable logging of http requests.
*/
"logRequests": true,
/*
* Set to true to enable logging of profiler information.
*/
"logProfiler": false,
/*
* The number of days request log items will be stored.
*/
"storeRetentationInDays": 90,
/*
* True, to enable datadog integration.
*/
"datadog": false
},
"assetStore": {
/*
* Define the type of the read store.
*
* Supported: Folder (local folder), MongoDb (GridFS), GoogleCloud (hosted in Google Cloud only), AzureBlob, AmazonS3, FTP (not recommended).
*/
"type": "Folder",
"folder": {
/*
* The relative or absolute path to the folder to store the assets.
*/
"path": "Assets"
},
"googleCloud": {
/*
* The name of the bucket in google cloud store.
*/
"bucket": "squidex-assets"
},
"azureBlob": {
/*
* The name of the container in the Azure Blob Storage
*/
"containerName": "squidex-assets",
/*
* The connection string to the azure storage service.
*/
"connectionString": "UseDevelopmentStorage=true"
},
"AmazonS3": {
/*
* The url of the S3 API service. Leave it empty if using the one provided by Amazon
*/
"serviceUrl": "",
/*
* The name of your bucket.
*/
"bucket": "squidex-test",
/*
* The optional folder within the bucket.
*/
"bucketFolder": "squidex-assets",
/*
* The region name of your bucket.
*/
"regionName": "eu-central-1",
/*
* The access key for your user.
*
* Read More: https://supsystic.com/documentation/id-secret-access-key-amazon-s3/
*/
"accessKey": "<MY_KEY>",
/*
* The secret key for your user.
*
* Read More: https://supsystic.com/documentation/id-secret-access-key-amazon-s3/
*/
"secretKey": "<MY_SECRET>",
/*
* Force path style property for AmazonS3Config
*/
"forcePathStyle": false
},
"mongoDb": {
/*
* The connection string to your Mongo Server.
*
* Read More: https://docs.mongodb.com/manual/reference/connection-string/
*/
"configuration": "mongodb://localhost",
/*
* The name of the event store database.
*/
"database": "SquidexAssets",
/*
* The name of the Mongo Grid FS bucket.
*/
"bucket": "fs"
},
"ftp": {
/*
*The host of the ftp service
*/
"serverHost": "",
/*
*The host of the ftp service
*/
"serverPort": "21",
/*
* Credentials.
*/
"username": "",
"password": "",
/*
* The relative or absolute path to the folder to store the assets.
*/
"path": "Assets"
},
/*
* Allow to expose the url in graph ql url.
*/
"exposeSourceUrl": false
},
"orleans": {
/*
* Define the clustering type.
*
* Supported: MongoDB, Development
*/
"clustering": "Development",
/*
* The port is used to share messages between all cluster members. Must be accessible within your cluster or network.
*/
"siloPort": "11111",
/*
* The ports used by Orleans to connect to external clients. Not used.
*/
"gatewayPort": "40000",
/*
* The advertised IP address. Usually not needed.
*/
"ipAddress": ""
},
"eventStore": {
/*
* Define the type of the event store.
*
* Supported: MongoDb, GetEventStore, CosmosDb
*/
"type": "MongoDb",
"mongoDb": {
/*
* The connection string to your Mongo Server.
*
* Read More: https://docs.mongodb.com/manual/reference/connection-string/
*/
"configuration": "mongodb://localhost",
/*
* The name of the event store database.
*/
"database": "Squidex"
},
"getEventStore": {
/*
* The connection string to your EventStore.
*
* Read Mode: http://docs.geteventstore.com/dotnet-api/4.0.0/connecting-to-a-server/
*/
"configuration": "ConnectTo=tcp://admin:changeit@localhost:1113; HeartBeatTimeout=500; MaxReconnections=-1",
/*
* The host name of your EventStore where projection requests will be sent to.
*/
"projectionHost": "localhost",
/*
* Prefix for all streams and projections (for multiple installations).
*/
"prefix": "squidex"
},
"cosmosDb": {
/*
* The connection string to your CosmosDB instance.
*/
"configuration": "https://localhost:8081",
/*
* The primary access key.
*/
"masterKey": "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
/*
* The name of the event store database.
*/
"database": "Squidex"
}
},
"eventPublishers": {
/*
* Additional event publishers (advanced usage only): (Name => Config)
*/
"allToRabbitMq": {
/*
* Example:: Push all events to RabbitMq.
*/
"type": "RabbitMq",
"configuration": "amqp://guest:guest@localhost/",
"exchange": "squidex",
"enabled": false,
"eventsFilter": ".*"
}
},
"store": {
/*
* Define the type of the read store.
*
* Supported: MongoDb
*/
"type": "MongoDb",
"mongoDb": {
/*
* The connection string to your Mongo Server.
*
* Read More: https://docs.mongodb.com/manual/reference/connection-string/
*/
"configuration": "mongodb://localhost",
/*
* The database for all your content collections (one collection per app).
*/
"contentDatabase": "SquidexContent",
/*
* The database for all your other read collections.
*/
"database": "Squidex"
}
},
"identity": {
/*
* Set to true to show PII (Personally Identifiable Information) in the logs.
*/
"showPII": true,
/*
* Enable password auth. Set this to false if you want to disable local login, leaving only 3rd party login options.
*/
"allowPasswordAuth": true,
/*
* Initial admin user.
*/
"adminEmail": "",
"adminPassword": "",
/*
* Recreate the admin if it does not exist or the password does not match.
*/
"adminRecreate": false,
/*
* Client with all admin permissions.
*/
"adminClientId": "",
"adminClientSecret": "",
/*
* Settings for Google auth (keep empty to disable).
*/
"googleClient": "1006817248705-t3lb3ge808m9am4t7upqth79hulk456l.apps.googleusercontent.com",
"googleSecret": "QsEi-fHqkGw2_PjJmtNHf2wg",
/*
* Settings for Github auth (keep empty to disable).
*/
"githubClient": "211ea00e726baf754c78",
"githubSecret": "d0a0d0fe2c26469ae20987ac265b3a339fd73132",
/*
* Settings for Microsoft auth (keep empty to disable).
* Tennant is optional for using a specific AzureAD tenant
*/
"microsoftClient": "b55da740-6648-4502-8746-b9003f29d5f1",
"microsoftSecret": "idWbANxNYEF4cB368WXJhjN",
"microsoftTenant": null,
/*
* Settings for your custom oidc server.
*/
"oidcName": "OIDC",
"oidcAuthority": "",
"oidcClient": "",
"oidcSecret": "",
"oidcScopes": [
"email"
],
/*
* Lock new users automatically, the administrator must unlock them.
*/
"lockAutomatically": false,
/*
* The url to you privacy statements, if you host squidex by yourself.
*/
"privacyUrl": "https://squidex.io/privacy"
},
"news": {
/*
* The app name where the news are stored.
*/
"appName": "squidex-website",
/*
* The credentials to the app (Readonly).
*/
"clientId": "squidex-website:default",
"clientSecret": "QGgqxd7bDHBTEkpC6fj8sbdPWgZrPrPfr3xzb3LKoec="
},
"translations": {
/*
* The deepl api key if you want to support automated translations.
*/
"deepl": {
"authKey": ""
}
},
"rebuild": {
/*
* Set to true to rebuild apps.
*/
"apps": false,
/*
* Set to true to rebuild assets.
*/
"assets": false,
/*
* Set to true to create dummy asset files if they do not exist. Useful when a backup fail.
*/
"assetFiles": false,
/*
* Set to true to rebuild contents.
*/
"contents": false,
/*
* Set to true to rebuild rules.
*/
"rules": false,
/*
* Set to true to rebuild schemas.
*/
"schemas": false,
/*
* Set to true to rebuild indexes.
*/
"indexes": false
},
/*"
* A list of configuration values that should be exposed from the info endpoint and in the UI.
*/
"exposedConfiguration": {
"version": "squidex:version"
},
/*
* Kafka Producer configuration
*/
"kafka": {
"bootstrapServers": ""
},
/*
* The client information for twitter.
*/
"twitter": {
"clientId": "QZhb3HQcGCvE6G8yNNP9ksNet",
"clientSecret": "Pdu9wdN72T33KJRFdFy1w4urBKDRzIyuKpc0OItQC2E616DuZD"
}
}