Settings reference for self-hosted SeekTable

You can modify default configuration of SeekTable application by specifying docker container environment variables.

Important: to apply changes in the .env file appropriate container should be re-created. This is performed automatically (only if needed) when you use docker-compose up to start the containers.

Image: seektable/seektable   settings file: docker-compose.seektable.env

Variable Default Value Description
SeekTable_ST:BaseUrl / Self-hosted SeekTable application base URL. It is used when SeekTable needs to generate a full URL (for example, in the "Get Link" dialog), and most likely you'll want to specify something like http://your_host_name_or_ip/ (or https if configured).
Note: SeekTable cannot be accessed as a subpath of the domain. Use a dedicated sub-domain to separate it from other web applications.
SeekTable_ST:LogoutReturnUrl (BaseUrl value) Target URL after a logout action.
SeekTable_ST:InstallationId (not set) Unique installation ID that is used to activate advanced features (paid subscriptions).
SeekTable_ST:InstallationOfflineActivation false This option disables automated online activation of installation subscriptions. Normally offline activation is needed only if your server has no internet access; in this case please contact support to get detailed instructions on the offline activation process.
SeekTable_ST:PivotDataService:ExternalBaseUrl http://@host:5200/ Specifies external base URL for web API exposed by 'seektable/pivotdataservice' (for access from a web browser).
SeekTable_ST:PivotDataService:InternalBaseUrl http://pivotdataservice:5000/ Specifies internal base URL for web API exposed by 'seektable/pivotdataservice' (for an internal access from 'seektable/seektable' container).
SeekTable_ST:Account:StoreAccessKeyHash false By default SeekTable stores user's account 'access key' as a plain value (in the SQLite DB file that is located on the docker volume). Use this setting to store only SHA256 hash of the access key. Please note that if SMTP is configured and public sign-up is allowed user will not able to use sign-up form to get a login link if this user is already registered.
SeekTable_ST:PublicReport:UseWebcomboThreshold 20 If number of report parameter dropdown items greater than this threshold webcombo (searchable) is used instead of standard dropdown. You may set 0 if you want to use webcombo in all cases.
SeekTable_ST:PublicReport:LinkAccessControlDefault (empty) This option controls default state of "Link access control" for all new links. Only value that is currently possible is "jwt".
SeekTable_ST:Export:ExportAllDataLimit 50000 Max number of rows in the report export if "Export All Data" is checked.
SeekTable_ST:Appearance:ChartAnimation 1000 Animation delay (in ms) used for charts rendering animation. Use 0 value to disable animations at all.
SeekTable_ST:Appearance:ReportParameterDropdownDynamicRowsLimit 10000 Max number of items loaded into report parameter "Dropdown (dynamic)" editor. WebCombo control used in SeekTable can efficiently handle 100k items and even more.
SeekTable_ST:Appearance:CubeFormArrayLayout (emtpy) Forces "tabs" or "table" editor for cube members editor on the cube configuration form (disregard screen width / number of cube members). By default "table" is used on screens > 1600px and if number of dimensions/measures < 50; otherwise compact "tabs" layout is used.
SeekTable_ST:Appearance:CubeFormCacheSection false Enables "Cache" section that allows to customize in-memory cache options for each cube separately. By default all cubes use system-default cache settings (see appropriate options for 'seektable/pivotdataservice' below).
SMTP settings
SeekTable_ST:Mail:Server (not set) SMTP server host name or IP. If SMTP is not configured SeekTable cannot send emails. If you have "System/users admin" subscription you can configure SMTP settings from the web interface (Admin → System Setup).
SeekTable_ST:Mail:Port (not set) SMTP server port. Typical values are: 25, 465, 587.
SeekTable_ST:Mail:User (not set) SMTP user name if your SMTP server requires authentication.
SeekTable_ST:Mail:Password (not set) SMTP user password if your SMTP server requires authentication.
SeekTable_ST:Mail:TrustCertificate false Enable this option if you want to skip SMTP server certificate validation (useful if self-signed certificate is used or if validation is not possible for some reason).
SeekTable_ST:Mail:AllowLegacySsl false Enable this option if your SMTP server still uses legacy protocols like SSL 2.0/3.0 or TLS 1.0.
SeekTable_ST:Mail:SocketOptions StartTlsWhenAvailable Determines socket options when connecting to SMTP. Possible values are:
  • None (no SSL or TLS encryption)
  • SslOnConnect (the connection should use SSL or TLS encryption)
  • StartTls (use TLS encryption immediately after reading the greeting and capabilities of the server)
  • StartTlsWhenAvailable (use TLS encryption immediately after reading the greeting and capabilities of the server, but only if the server supports the STARTTLS extension)
SeekTable_ST:Mail:DefaultFromName SeekTable "From" name for emails sent by SeekTable.
SeekTable_ST:Mail:DefaultFromAddress no-reply@seektable.com "From" address for emails sent by SeekTable.
PivotDataService JWT settings
SeekTable_ST:PivotDataService:Jwt:IssuerSigningKeyString (some value) JWT signing key that secures access to 'seektable/pivotdataservice' web API. This should be the same value (at least 16 chars) as for PivotDataService_Auth:Jwt:IssuerSigningKeyString. You may want to set your own signing key to improve the security of your installation.
SeekTable_ST:PivotDataService:Jwt:ValidIssuer ST JWT issuer value for 'seektable/pivotdataservice' web API. This should be the same value as for PivotDataService_Auth:Jwt:ValidIssuer.
SeekTable_ST:PivotDataService:Jwt:TokenDecryptionKeyString (not set) JWT encryption key value for 'seektable/pivotdataservice' web API (at least 32 chars). This should be the same value as for PivotDataService_Auth:Jwt:TokenDecryptionKeyString.
SeekTable_ST:PivotDataService:Jwt:CreateTokenExpirationMinutes 1440 (= 24h) Max lifetime for the JWT (limits max user's session without a web page re-load).
SeekTable_ST:PivotDataService:Jwt:CreateTokenStrongEncryption false Sign/encrypt JWT with SHA512/AES256 instead of SHA256/AES128. If strong encryption is enabled signing key should have at least 32 chars (64 chars for encryption key).
SeekTable web API JWT settings
SeekTable_ST:Api:Jwt:ValidIssuer (not set) JWT issuer value (string) for SeekTable web API.
SeekTable_ST:Api:Jwt:ValidateIssuer (not set) If true JWT issuer is validated when SeekTable web API is accessed.
SeekTable_ST:Api:Jwt:ValidateLifetime (not set) If true JWT lifetime is validated when SeekTable web API is accessed.
SeekTable_ST:Api:Jwt:ValidateIssuerSigningKey (not set) If true JWT signature is validated when SeekTable web API is accessed.
SeekTable_ST:Api:Jwt:CreateTokenExpirationMinutes (not set) Max lifetime for JWT generated at "Manage Account"→"Get API Key" (token expires only when ValidateLifetime=true).
SeekTable_ST:Api:Jwt:IssuerSigningKeyString (not set) JWT signing key that secures access to SeekTable web API. This value should have at least 16 chars.
SeekTable_ST:Api:Jwt:TokenDecryptionKeyString (not set) JWT encryption key that secures access to SeekTable web API. This should have at least 16 chars.
SeekTable_ST:Api:Jwt:CreateTokenStrongEncryption (not set) If true JWT is signed/encrypted with SHA512/AES256 instead of SHA256/AES128. When strong encryption is enabled signing key should have at least 32 chars (64 charts for encryption key).
Secure embedding JWT validation settings
SeekTable_ST:PublicReport:AuthJwtUrlParameter (not set) Query string parameter name for the JWT value (if used).
SeekTable_ST:PublicReport:AuthJwtCookieName (not set) Cookie name for the JWT value (if used).
SeekTable_ST:PublicReport:AuthJwt:ValidIssuer (not set) JWT issuer value to match.
SeekTable_ST:PublicReport:AuthJwt:ValidateIssuer (not set) If true JWT issuer is validated.
SeekTable_ST:PublicReport:AuthJwt:ValidateLifetime (not set) If true JWT lifetime is validated.
SeekTable_ST:PublicReport:AuthJwt:IssuerSigningKeyString (not set) JWT signing key that secures an access to embedded reports. Key should contain at least 16 chars if JWT is signed with SHA256, and 32 chars in case of SHA512.
SeekTable_ST:PublicReport:AuthJwt:TokenDecryptionKeyString (not set) JWT encryption key that secures an access to embedded reports (optional).
Single sign-on settings (applicable only if "Single sign-on" subscription is active)
SeekTable_ST:SsoWsFederation:Wtrealm (APP ID) Unique value that identifies SeekTable application in the WS-Federation authentication provider. In case of Azure Directory this is "App ID URI".
SeekTable_ST:SsoWsFederation:MetadataAddress (WS-Fed metadata URI) Federation Metadata Document URL.
SeekTable_ST:SsoWsFederation:LoginButtonText Login with WS-Federation SSO Text used for 'Login with SSO' button on the Login page.
SeekTable_ST:SsoWsFederation:LocalLoginDisabled false If true users can login only with FS-Federation SSO (login form is not shown at all).

Image: seektable/pivotdataservice   settings file: docker-compose.pivotdataservice.env

Variable Default Value Description
PivotDataService_PivotDataService:FormatCulture culture name to use for values formatting (numbers & dates). For example: en-GB, de_DE, ru-RU.
PivotDataService_PivotDataService:PivotTableCellsLimit 1000000 Max number of cells in the pivot table report. If pivot table exceedes this limit user gets "Pivot table is too large" error.
Warning: large pivot table (without pagination) may make a web browser unresponsible. Also server where SeekTable is hosted should have enough RAM for large pivot tables generation (4GB or more).
PivotDataService_PivotDataService:AggregateRowsLimit 1000000 Max number of rows in result of aggregation query. If pivot table exceedes this limit user gets "Pivot table is too large" error.
PivotDataService_PivotDataService:FlatTableRowsLimit 50000 Max number of rows in the flat table report (HTML, JSON, CSV).
PivotDataService_PivotDataService:FlatTableNonStreamExportLimit 10000 Max number of rows in PDF or Excel export of the flat table report.
PivotDataService_PivotDataService:CubeLookupDictionarySizeLimit 100000 Max dictionary size for external lookups used by Cube().Lookup() function (in expression-type dimensions).
PivotDataService_PivotDataService:CsvLineBufferSize 32768 Buffer size for one CSV line (max length of the CSV line that can be processed).
PivotDataService_PivotDataService:Export:MaxHtmlLength (not set) Max length of the HTML input for PDF export. PDF export of large reports (>10MB HTML) is rather CPU and RAM intensive task, and this parameter allows to prevent server overload with huge exports.
PivotDataService_PivotDataService:Export:WkhtmltopdfTimeout 2 Timeout for PDF export generation in minutes. PDF export is rather CPU and RAM intensive task, and this parameter allows to prevent server overload with long-running exports.
PivotDataService_PivotDataService:Export:ExcelDateValueFormat yyyy-MM-dd Excel format string for dates in export.
PivotDataService_PivotDataService:Export:ExcelDateTimeValueFormat yyyy-MM-dd HH:mm Excel format string for timestamps in export.
PivotDataService_Auth:Jwt:IssuerSigningKeyString (some value) JWT signing key that secures access to 'seektable/pivotdataservice' web API. This should be the same value as for SeekTable_ST:PivotDataService:Jwt:IssuerSigningKeyString.
PivotDataService_Auth:Jwt:ValidIssuer ST Valid JWT issuer for 'seektable/pivotdataservice' web API. This should be the same value as for SeekTable_ST:PivotDataService:Jwt:ValidIssuer.
PivotDataService_Auth:Jwt:TokenDecryptionKeyString (not set) JWT decryption key for 'seektable/pivotdataservice' web API. This should be the same value as for SeekTable_ST:PivotDataService:Jwt:TokenDecryptionKeyString.
PivotDataService_PivotDataService:Cache:Enabled true Enables short-living in-memory cache for results of DB aggregate queries.
PivotDataService_PivotDataService:Cache:SlidingExpirationMinutes 3 Cache entry will expire if it hasn't been accessed during specified number of minutes.
PivotDataService_PivotDataService:Cache:AbsoluteExpirationMinutes 15 Cache entry will expire after specified number of minutes.
PivotDataService_Logging:LogLevel:NReco.PivotData.Engine Information Controls logging level of the ROLAP engine. By default DB query is logged is only in case of error; use Debug value if you want to log ALL database queries executed by the engine.