Przejdź do głównej zawartości

Konfiguracja aplikacji

Poniżej opisane opcje konfiguracyjne, które są dostępne w pliku appsettings.json oraz możliwe do ustawienia w docker-compose.yaml.

Properties

  • InitialConfig
    • Configuration invoked once during the initial launch of the application.

    • Types: object, null

    • path: #/properties/InitialConfig
    • Properties

      • Admin `required`
        • Default user configuration.

        • Types: object, null

        • path: #/properties/InitialConfig/properties/Admin
        • Properties

          • Login `required`
            • Login for the default admin.

            • Types: string, null

            • path: #/properties/InitialConfig/properties/Admin/properties/Login
          • Password `required`
            • Password for the default admin.

            • Types: string, null

            • path: #/properties/InitialConfig/properties/Admin/properties/Password
      • DockerSockets `required`
        • Types: object, null

        • path: #/properties/InitialConfig/properties/DockerSockets
        • This schema accepts additional properties.

        • Properties

  • JwtSettings `required`
    • JWT configuration.

    • Types: object, null

    • path: #/properties/JwtSettings
    • Properties

      • Issuer `required`
        • Unique name.

        • Types: string, null

        • path: #/properties/JwtSettings/properties/Issuer
      • SecretKey `required`
        • Random string, should be unique.

        • Types: string, null

        • path: #/properties/JwtSettings/properties/SecretKey
      • TokenExpireHours `required`
        • Token expiration length in hours.

        • Type: integer

        • path: #/properties/JwtSettings/properties/TokenExpireHours
  • DataStoragePath `required`
    • Location where the application data will be stored. If DatabaseStoragePath is not defined, it also includes the database files.

    • Types: string, null

    • path: #/properties/DataStoragePath
  • DatabaseStoragePath `required`
    • Optional value. Path where the SQLite database will be stored.

    • Types: string, null

    • path: #/properties/DatabaseStoragePath
  • LogCollectionUrl
    • Optional address to which traps send logs. Useful when traps and public networks are separate.

    • Types: string, null

    • path: #/properties/LogCollectionUrl
  • StdApiPort
    • Optional port on which the application listens for Std logs. If not provided, it listens on the same port as the application.

    • Types: integer, null

    • path: #/properties/StdApiPort
  • PublicUrl `required`
    • Public URL link under which the application is accessible.

    • Type: string

    • path: #/properties/PublicUrl
  • LogGroupingInterval `required`
    • Time interval in which events of the same type are grouped within a single trap.

    • Type: string

    • path: #/properties/LogGroupingInterval
  • ActivationLinkExpiration `required`
    • Validity period of the activation link in TimeSpan format.

    • Type: string

    • path: #/properties/ActivationLinkExpiration
  • HttpsSettings
    • Types: object, null

    • path: #/properties/HttpsSettings
    • Properties

      • Mode `required`
        • Specifies the HTTPS mode in which the application operates. None - use HTTP, LetsEncrypt - use LettuceEncrypt and the corresponding section in the configuration must be filled in, CustomCertificate - custom certificate configured in the Kestrel section, SelfSigned - self-signed certificate generated by the application.

        • Type: string

        • path: #/properties/HttpsSettings/properties/Mode
        • The value is restricted to the following:

          1. "None"
          2. "LetsEncrypt"
          3. "CustomCertificate"
          4. "SelfSigned"
      • EnforceHttps `required`
        • Force the use of HTTPS protocol.

        • Type: boolean

        • path: #/properties/HttpsSettings/properties/EnforceHttps
      • DisableSslValidation
        • Disable SSL validation when sending logs through traps. Required for proper operation when using an untrusted certificate.

        • Type: boolean

        • path: #/properties/HttpsSettings/properties/DisableSslValidation
      • HstsMaxAgeDays
        • Type: integer

        • path: #/properties/HttpsSettings/properties/HstsMaxAgeDays
  • LetsEncrypt
    • Types: object, null

    • path: #/properties/LetsEncrypt
    • Properties

      • AcceptTermsOfService `required`
        • Required value 'true' for LettuceEncrypt to function properly.

        • Type: boolean

        • path: #/properties/LetsEncrypt/properties/AcceptTermsOfService
      • DomainNames `required`
        • Domain names for which a certificate will be generated.

        • Types: array, null

        • path: #/properties/LetsEncrypt/properties/DomainNames
          • Items

          • Types: string, null

          • path: #/properties/LetsEncrypt/properties/DomainNames/items
      • EmailAddress `required`
        • Email address of the certificate owner.

        • Types: string, null

        • path: #/properties/LetsEncrypt/properties/EmailAddress
  • Kestrel
    • Kestrel server settings.

    • Types: object, null

    • path: #/properties/Kestrel
    • Properties

      • Certificates `required`
        • Types: object, null

        • path: #/properties/Kestrel/properties/Certificates
        • Properties

          • description
            • path: #/properties/Kestrel/properties/Certificates/properties/description
          • Default `required`
            • Types: object, null

            • path: #/properties/Kestrel/properties/Certificates/properties/Default
            • Properties

              • Path `required`
                • Path to the certificate.

                • Types: string, null

                • path: #/properties/Kestrel/properties/Certificates/properties/Default/properties/Path
              • Password `required`
                • Certificate password if required.

                • Types: string, null

                • path: #/properties/Kestrel/properties/Certificates/properties/Default/properties/Password
  • ExternalAuthenticationServices
    • Section allowing to add external OpenID authentication.

    • Types: array, null

    • path: #/properties/ExternalAuthenticationServices
      • Items

      • Types: object, null

      • path: #/properties/ExternalAuthenticationServices/items
      • Properties

        • Name `required`
          • Unique identifier of the service.

          • Types: string, null

          • path: #/properties/ExternalAuthenticationServices/items/properties/Name
        • DisplayName `required`
          • Name of the service displayed on the button if it does not have a special appearance defined by IconName.

          • Types: string, null

          • path: #/properties/ExternalAuthenticationServices/items/properties/DisplayName
        • IconName `required`
          • _Name used for additional styling of the login button. Providing 'google' or 'microsoft'

            applies a special appearance to the button._

          • Types: string, null

          • path: #/properties/ExternalAuthenticationServices/items/properties/IconName
        • Authority `required`
          • Address of the external login service used to retrieve OpenID configuration. It is usually provided in the documentation of the respective service. For example, for Google, it is https://accounts.google.com.

          • Types: string, null

          • path: #/properties/ExternalAuthenticationServices/items/properties/Authority
        • ClientId `required`
          • OpenID client ID obtained from the external service.

          • Types: string, null

          • path: #/properties/ExternalAuthenticationServices/items/properties/ClientId
        • ClientSecret `required`
          • OpenID client secret obtained from the external service after creating a client.

          • Types: string, null

          • path: #/properties/ExternalAuthenticationServices/items/properties/ClientSecret
  • RateLimiting
    • RateLimiting options for Std and investigation APIs.

    • Types: object, null

    • path: #/properties/RateLimiting
    • Properties

      • Investigation `required`
        • Types: object, null

        • path: #/properties/RateLimiting/properties/Investigation
        • Properties

          • Period `required`
            • Time range in TimeSpan format.

            • Type: string

            • path: #/properties/RateLimiting/properties/Investigation/properties/Period
          • Limit `required`
            • Number of accepted requests within a given time period.

            • Type: integer

            • path: #/properties/RateLimiting/properties/Investigation/properties/Limit
      • Events `required`
        • Types: object, null

        • path: #/properties/RateLimiting/properties/Events
        • Properties

          • Period `required`
            • Time range in TimeSpan format.

            • Type: string

            • path: #/properties/RateLimiting/properties/Events/properties/Period
          • Limit `required`
            • Number of accepted requests within a specific time period.

            • Type: integer

            • path: #/properties/RateLimiting/properties/Events/properties/Limit