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.
 
 
 
 
 

512 lines
13 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": "http://localhost:5000",
/*
* Set it to true to redirect the user from http to https permanently.
*/
"enforceHttps": false
},
/*
* Define optional paths to plugins.
*/
"plugins": [
"Squidex.Extensions.dll"
],
"etags": {
/*
* Set to true, to use strong etags.
*/
"strong": false
},
"languages": {
/*
* Use custom langauges where the key is the language code and the value is the english name.
*/
"custom": ""
},
"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,
/*
* Show the exposed values as information on the apps overview page.
*/
"showInfo": false
},
"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": 465
},
"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]"
}
},
"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
}
},
"contentsController": {
/*
* Enable surrogate keys as headers.
*
* Nginx Has problems with long headers. It might make sense to disable this feature if you do not use a CDN.
*/
"enableSurrogateKeys": true,
/*
* Restrict the surrogate keys to results that have less than 200 items.
*/
"maxItemsForSurrogateKeys": 200
},
"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
},
"logging": {
/*
* Setting the flag to true, enables well formatteds json logs.
*/
"human": true,
/*
* Set to true, to use colors.
*/
"colors": true
},
"assetStore": {
/*
* Define the type of the read store.
*
* Supported: Folder (local folder), MongoDb (GridFS), GoogleCloud (hosted in Google Cloud only), AzureBlob, 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"
},
"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"
},
"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",
/*
* The MongoDb Engine. Supported: MongoDb, DocumentDb
*/
"engine": "MongoDb"
}
},
"identity": {
/*
* Set to true to show PII (Personally Identifiable Information) in the logs.
*/
"showPII": false,
/*
* 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": "",
/*
* 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).
*/
"microsoftClient": "b55da740-6648-4502-8746-b9003f29d5f1",
"microsoftSecret": "idWbANxNYEF4cB368WXJhjN",
/*
* 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.
*/
"deeplAuthKey": ""
},
"rebuild": {
/*
* Set to true to rebuild apps.
*/
"apps": false,
/*
* Set to true to rebuild assets.
*/
"assets": 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"
}
}