{ "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": true, /* * 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<> [$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<> [$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<> [$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": "", /* * The secret key for your user. * * Read More: https://supsystic.com/documentation/id-secret-access-key-amazon-s3/ */ "secretKey": "", /* * 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" } }