Squidex
  • Welcome to Squidex
  • Getting Started
    • Squidex Cloud
    • Installation Instructions
      • Platforms
        • Install on Kubernetes
        • Install on AWS (Deprecated)
        • Install on AWS EC2 using Docker
        • Install on Azure
        • Install on Azure using ARM
        • Install on Google Cloud Platform (GCP)
        • Install on Docker
        • Install on Heroku
        • Install on IIS
        • Install on Render
        • Install on Vultr
      • Configuration
        • Deploying the Image Resizer Service
      • Troubleshooting and Support
        • Diagnose Runtime Issues
        • Restoring Deleted Apps
      • Install Identity (Deprecated)
      • External Identity Providers
        • Azure AD (OAuth) with Squidex
    • Contributing and Developing
      • Building
      • Developing
      • Extensions
        • Custom Rule Action
      • Contributing
      • Architecture
      • Translating
      • Squidex Docs Program
    • Roadmap
    • Quick Start Guides
      • Vue.js Blog with Squidex
      • React.js Blog with Squidex
      • Angular Blog with Squidex
  • Documentation
    • Introduction and Use Case
    • Concepts
      • Apps
      • Teams
      • Schemas
        • Field Rules
      • Content
        • Scheduled Publishing
      • Assets
        • Querying Assets
      • Localization
      • Migrations
      • Roles & Permissions
      • Rules
        • Publish an Event to Azure Queues using Rules
        • Populate Elasticsearch Index
      • Backups
      • Subscriptions
        • App Subscriptions v/s Team Subscriptions
      • Notifications
      • Dashboard
      • Workflows
    • Software Development Kits
      • TypeScript
      • .NET
        • Version v14 (and Earlier)
        • Version v15 (and Later)
      • PHP
      • Java
    • Developer Guides
      • API
        • Authentication
        • Postman
        • Queries
        • Assets
      • Automation Tools (CLI)
      • Scripting
        • Scripting Helper Methods
      • Embed Content
      • Custom Workflows
      • Custom Editors
      • Custom Sidebars
      • Preview Content
      • Rule Formatting
        • Simple
        • Script
        • Liquid
      • Tutorials
        • Building a Blog with Squidex and Next.js
  • Next
    • Squidex 3.0: API Compatibility
Powered by GitBook
On this page
  • Configuration Model
  • Important Settings
  • Troubleshooting
  • Login screen shows 'Operation failed' message.
  • I see the login screen but I cannot login.

Was this helpful?

  1. Getting Started
  2. Installation Instructions

Configuration

PreviousInstall on VultrNextDeploying the Image Resizer Service

Last updated 2 years ago

Was this helpful?

Configuration Model

We use the model for all settings.

You can configure Squidex using the following methods:

  1. The appsettings.json file.

  2. The appsettings.Production.json file.

  3. Environment variables.

  4. Command line arguments.

The ordering is important. Command line arguments override other settings, environment variables override the JSON files and so on. Using a combination of all these options can be very helpful.

Read the comments of the appsettings.json file to understand all configuration settings.

In this example we want to override the following setting from the configuration file:

{
  "assetStore": {
    "folder": {
      "path": "MyAssets"
    }
  }
}

If you combine all keys from the JSON root to the setting you get the full key of this setting.

Aggregate the keys by two underscores to get the name of the environment variable:

ASSETSTORE__FOLDER__PATH="MyAssets"

Aggregate the keys by using a colon and you get the name of the command line argument

assetstore:folder:path="MyAssets"

Casing does not matter.

Important Settings

We assume that you use environment variables to store the settings. Therefore we use the notation with the two underscores.

Settings and Environment Variables

These are the most important settings:

Setting
Description

URLS__BASEURL

The base URL under which Squidex is running. It is used to generate hyperlinks and to make redirects with the correct host name. In some environments, Squidex is running behind several proxies, e.g. cloudflare, google load balancer and so on. In these cases the original host name might get lost. Therefore we introduced this configuration value.

IDENTITY__ADMINEMAIL

The email address of the admin user. You can also set the admin email with the initial setup screen.

IDENTITY__ADMINPASSWORD

The password of the admin user (Must contain lowercase, uppercase letter, number and special character). You can also set the admin password with the initial setup screen.

CLUSTERING__MODE

Set

  • IDENTITY__GOOGLECLIENT

  • IDENTITY__GITHUBCLIENT

  • IDENTITY__MICROSOFTCLIENT

to empty to disable authentication with third party providers.

Health Checks

Many systems support health checks to determinate the health of a service. For example load balancers periodically call an endpoint of the service to remove dead nodes from the list of available nodes and to stop serving HTTP requests to these nodes.

Squidex provides the following health checks:

Troubleshooting

Please check the logs to see detailed error messages.

Login screen shows 'Operation failed' message.

Typically, the login fails because the URLS__BASEURL setting has an invalid value. Ensure that the public domain used by your users is configured here. Squidex might run behind several other servers such as Cloudflare, load balancers and reverse proxies and does not know the original domain. Therefore, you must configure the URL.

I see the login screen but I cannot login.

Ensure that you have configured a strong password if you use IDENTITY__ADMINPASSWORD.

You will see the following entry in your logs:

{
  "logLevel": "Error",
  "action": "createAdmin",
  "status": "failed",
  "exception": {
    ...
    "message": "Cannot create user:...",
    ...
  }
}`

The password requirements are:

  1. Passwords must be at least 6 characters.

  2. Passwords must have at least one non alphanumeric character.

  3. Passwords must have at least one digit ('0'-'9').

  4. Passwords must have at least one lowercase ('a'-'z').

If yoy have forgotten your admin password you can use the following environment variable to update the admin account with the password from the configuration whenever a Squidex instance is started:

IDENTITY__ADMINRECREATE=true

Until version 7, Squidex uses for clustering. It is technology, which was written for online games, such as Halo. With Orleans you develop small classes that are deployed automatically to a cluster of nodes. To enable clustering you have to set this setting to Mongo, which means that a MongoDB table is used to store the state of the cluster.

/healthz (e.g. ): An endpoint to check if Squidex can serve HTTP requests and has not consumed too much memory. This is a recommended health check for liveness, startup and readiness probes.

/cluster-healthz(e.g. ): An endpoint to check the status of the cluster and if a node can connect to the cluster. It is not recommended to use this endpoint for liveness, startup and readiness probes, because the clustering system has its own health system.

/background-healthz (e.g. ): An endpoint to check the status of background processes. It is not recommended to use this endpoint for liveness, startup and readiness probes, because a restart of a node would not help in most cases, but it is useful for monitoring.

/readiness (e.g. ): Special endpoint for readiness and startup probes. Usually it is not needed to use this endpoint.

ASP.NET Core Configuration
https://cloud.squidex.io/healthz
https://cloud.squidex.io/cluster-healthz
https://cloud.squidex.io/background-healthz
https://cloud.squidex.io/readiness
Microsoft Orleans