Self-hosted SeekTable setup

You can install and run SeekTable on-premise in docker containers:

  • Linux server that can host Docker containers (recommended: Ubuntu Server 20.04 or newer). The minimal configuration with 1-2 CPU cores / 4GB RAM would be enough in most cases.
  • Mac OS (via docker)
  • Windows 11: use Oracle VirtualBox to run a VM with Linux or Docker Desktop for Windows
You can run self-hosted SeekTable in cloud with a few clicks from AWS marketplace.
  1. Ensure that docker is installed. If not: Docker Engine install instructions.
  2. Check whether Docker Compose plugin is installed: try to run docker compose version command.
    Most likely, it is already present and you don't need to install docker compose manually.
  3. Download SeekTable's configuration for docker compose: docker-compose.tar.gz and extract the files:
    $ mkdir -p /opt/seektable
    $ cd /opt/seektable
    $ wget https://www.seektable.com/docker-compose.tar.gz -P ./
    $ tar xf docker-compose.tar.gz
    ODBC Driver for BigQuery is not included into the default distribution.
    To enable BigQuery connector use this configuration: https://www.seektable.com/docker-compose-bigquery.tar.gz
  4. Optional: edit docker-compose.seektable.env file to configure an app base URL and other self-hosted SeekTable system settings.
  5. Important: ensure that server's firewall allows incoming connections for ports 80 and 5200. It is possible to use a single port (80 or 443) with help of a reverse proxy server.
  6. Run the following command:
    $ sudo docker compose up
    Add -d option if you want to run SeekTable in the background and start it up automatically on reboot.
  7. Now you can open http://your_server_hostname_or_ip/ and create accounts on your SeekTable installation.
    If your installation can be accessed from the Internet it is recommended to follow security best practices.
  1. Download SeekTable configuration for docker compose: docker-compose.tar.gz.
  2. Use kubernetes/kompose to deploy SeekTable on Kubernetes directly with kompose up, or kompose convert to convert SeekTable's docker-compose.yml to files that you can use with kubectl.
  3. SeekTable containers use these defaults for ports mapping:
    • Container seektable/seektable: internal 5000 → external 80
    • Container seektable/pivotdataservice: internal 5000 → external 5200
    If you need to use another external port for 'pivotdataservice' (instead of 5200) the following environment variable should be specified for seektable/seektable container (specify port that you use instead of 5200):
    SeekTable_ST__PivotDataService__ExternalBaseUrl=//@host:5200/
  4. SeekTable expects that containers can use these internal endpoints to reach each other (container names in the docker-compose configuration):
    • http://seektable:5000/
    • http://pivotdataservice:5000/
    You may change these URLs in this way:
    • Container seektable/seektable env variable:
      SeekTable_ST__PivotDataService__InternalBaseUrl=http://pivotdataservice:5000/
    • Container seektable/pivotdataservice env variable:
      PivotDataService_PivotDataService__CubeProviders__0__Url=http://seektable:5000/api/cube/schema?seektable_user_id=@seektable_user_id&seektable_user_readonly=@seektable_user_readonly&seektable_user_locale_id=@seektable_user_locale_id
Upgrade: to download the latest SeekTable images run these commands:
$ sudo docker compose stop
$ sudo docker compose pull
$ sudo docker compose up -d

Scalability notice: standard version of self-hosted SeekTable uses Sqlite and not designed for multiple containers (replicas) per service. If you are interested in the high-availability version that supports horizontal scaling please contact us.

In case of complications or questions please contact support@seektable.com.

Usage conditions

SeekTable installation uses 2 docker images:

seektable/seektable
FREE
This is the main SeekTable web application. You can use this image for FREE under the following conditions:
  • installation should be used/accessed only by employees/customers of your company; you cannot make it public (accessible for everyone with sign-up form).
  • usage of modified image is prohibited (changes in any application files including css/js etc)
  • your on-premise SeekTable deployment is activated automatically; we may contact you by email and ask for the feedback.

You can change usage conditions or unlock additional SeekTable features with paid subscriptions.

seektable/pivotdataservice
FREE with trial notices/tables size limitations
OR
$499/year

PivotData microservice is a reporting engine used by SeekTable (both products are owned & maintained by the same team). This engine is a separate commercial product that requires per-deployment license key; when it is used as a part of self-hosted SeekTable special usage conditions are applicable:

  • PivotData microservice that runs in trial mode (without a license key) can be used for any period of time in FREE SeekTable installation . Any paid subscription requires a license for PivotData microservice.
  • You cannot use PivotData microservice as a separate product for FREE (call its APIs directly).
  • In the trial mode special notices are displayed at the bottom of pivot tables + max 100k cells with values in pivots and max 1000 rows for flat tables.
    You can hide trial notice / remove table-size limitations by activating an appropriate subscription (see below).

Paid subscriptions for self-hosted SeekTable advanced features

Technically advanced capabilities are activated by assigning an unique installation ID for your SeekTable deployment.
Note that you can request a free 14-day trial and evaluate features you need without the need to pay anything.

PivotData Microservice license Activates a license key for SeekTable's reporting engine: removes trial notices at the bottom of pivot tables / other report-size limitations.
Required for non-personal use / any other paid subscription.
$499 / year
System/users admin Administrator role for one (or multiple) users. Administrator can:
  • add/update/delete user accounts, login-as-user, reset passwords
  • restore account data from XML backup (UI / API)
  • enable "admin" role for other user accounts
  • system setup UI: disable public sign-ups (new users can be added only by admins), disable self-delete for user accounts, disable file uploads/add cube or publish to web for non-admins, enable/force 2FA login, configure SMTP for outgoing emails ("share by email"), enable subscribe to report (disabled by default for installations)
$499 / year
White-label mode
Requires: system admin
Use your company logo/brand instead of SeekTable, hide "Generated by" and "Powered by" notices in app/exports/shared reports, hide links to seektable.com website, set custom footer content for emails and PDF export, customize SeekTable app visual styles by adding your own CSS, localize app UI (customize or translate the interface to non-English language, enable multi-language support). $1499 / year
Dashboards Enables the ability to create pages with several reports controlled by a common filter. Layout is controlled with a HTML template. With dashboards it is possible to display report's data with custom visuals (maps, advanced charts etc). Dashboards may be published/embedded in the same way as individual reports (requires "Advanced publishing") and/or shared to other users (requires "Team sharing"). $499 / year
Single sign-on (SSO) Enables the ability to setup SSO with WS-Federation (Active Directory with ADFS, Azure Directory etc). Support of SAML2 or custom SSO flow may be added upon request. $499 / year
Team sharing Team owner role for high-powered user(s) who is creating the data and sharing it with others. Team owner can:
  • manage team members
  • share cubes/reports to team members with an access control
Only user who creates and shares cubes/reports need to have this paid subscription; viewers are free accounts. Number of 'viewers' in the team is not limited.
"Team sharing" subscription can be enabled for unlimited number of users with a fixed price.
$299 / user / year
Advanced publishing/embedding Ability to use advanced features for reports published to web (public links):
  • interactive report view: pagination, sort by labels/values, inputs for parameters
  • enable exports (PDF, CSV, Excel etc), extend export limit for rows
  • enable chart legend and hide table below the chart
  • customize styles with CSS rules
  • apply report parameters from the host page without IFRAME reload
  • auto refresh report every N minutes
  • secure embedding of reports/dashboards (JWT auth)
  • app view embedding (JWT auth)
Only users who create and publish the reports need to have this paid subcription. There are no any limitations on the number of 'viewers'.
"Advanced publishing" subscription can be enabled for unlimited number of users with a fixed price.
$299 / user / year
AI Functions LLM-based features:
  • AI-improved "Ask Data" recognition
  • Chat-based reports creation: users can configure report options via natural language messages
  • AI-powered report data analysis: find insights / detect anomalies, generate reports summaries etc. Prompts can be tuned and available for end-users simply as report's menu actions.
It is possible to switch between cloud AI APIs (OpenAI, Azure AI inference) and self-hosted LLM models (Ollama docker image).
Request pricing
Advanced email subscriptions Manage multiple email subscriptions per report + ability to subscribe others:
  • if user has "Team sharing": members/groups from the team
  • if user has "Admin" rights: an email pattern to match login emails of all registered users
  • just a list of emails (external users)
Request pricing
Audit Log Collects information about all actions in the system performed by end-users: cubes/reports creation, changes (with diffs), report views and actions with reports (filtering, sorting, exports etc), published reports views and actions, errors. Only users with "admin" rights can access this audit trail. Request pricing
Commercial Support / Integration Project It is possible to purchase an a support package that guarantees technical/live support with SeekTable deployment, setup or troubleshooting, SLA for urgent hotfixes delivery. $999 / year
Custom Integration Project BI-related integration services: on-prem SeekTable deployment, setup data pipelines (Airbyte/dbt), add DW, configure cubes, reports, custom dashboards development, sharing/publishing rules etc) can be provided by SeekTable's outsourcing partner. Request pricing

A single installation ID and its associated subscriptions can be activated only for 1 SeekTable production instance. It is possible to use the same installation ID for supplementary (non-production) environments (like staging or development). If your production deployment needs multiple SeekTable instances that are all active at the same time, an additional fee may be applicable.

Typical installation subscriptions sets:

Goal Subscriptions Fixed price
Share reports in a secure way with teammates, customers etc
  • PivotData microservice license
  • System/users admin
  • "Team sharing" for 1 'master' user account (manages data sources / shared reports). Viewers are 'free' users.
$1297 / year
= $110/month
Embed reports into existing web app
  • PivotData microservice license
  • System/users admin
  • White-label mode (hide any mentions of SeekTable + ability to customize styles to match your app UI)
  • "Advanced publishing" for 1 'master' user account (reports designer / publisher). Number of viewers (users in your app) is unlimited!
$2796 / year
= $233/month
Embed an app view (report builder, access to shared cubes/reports, save reports) with JWT-based SSO
  • PivotData microservice license
  • System/users admin
  • White-label mode (hide any mentions of SeekTable + ability to customize styles to match your app UI)
  • "Advanced publishing" for unlimited users. Each user account used in embedded app view needs to have "Advanced publishing".
  • "Team sharing" for 1 'master' user account where data sources / cubes / reports are configured and shared to others.
$5786 / year
= $482/month

If you require assistance determining the necessary options, please contact us with details of your requirements.

Request 14 Day Trial
Trial period may be extended if you need more time for the decision-making process.