TabMove Lite is offered as a solution that you can deploy on your own infrastructure in a number of ways. From the simplest to the most advanced, these are:
Method | Difficulty | Remarks | |
---|---|---|---|
⏳ From | a Easiest | This will become the recommended approach, but is not available yet. | |
Moderate | This is the currently recommended approach. In the future, this will be a decent alternative in case specific requirements can’t be met with the marketplace approach. | ||
As an executable | Advanced | OnNot currently available; will be on-demand only, for exceptional use-cases. |
Review the information in each section below to learn more about each deployment method.
From a Marketplace
AWS Marketplace
Info |
---|
TabMove Lite will be made available on the AWS Marketplace in the future. |
...
General Requirements
To function correctly, TabMove Lite needs HTTPS access to the following resources:
Your current Tableau Server
Tableau Cloud:
*.online.tableau.com
Licensing & activation: see https://help.cryptolens.io/security/api-ip.
Biztory TabMove Telemetry (optional):
tabmove-telemetry.biztory.com
⏳ Deploying from AWS Marketplace
See the full article: Deploying from AWS Marketplace
Deploying as a Container Image
If you want to run TabMove Lite as a container on your own infrastructure (e.g. Docker), you can follow the steps below. The example assumes a local Docker installation for demonstration purposes, but most concepts can be applied e.g. on AWS ECS, GCP, or other infrastructure.
Docker Native
Download the TabMove Lite docker-compose file (
docker-compose.yml
). Make note of where you save this file, or place it in a dedicated folder.On your command prompt, navigate to the location where you saved the file and run the service using:
docker compose up
The TabMove Lite service will be made available on port8080
.Access the app:
If you can connect to your Docker host directly and using
http
, you can use your browser to reachhttp://your-docker-host:8080/
Alternatively, using a service like Serveo may make it more convenient to access TabMove Lite. Example command to run on your Docker host VM:
ssh -R 80:localhost:8080 serveo.net
Serveo will provide you with a unique URL you can access TabMove at for as long as the SSH connection is maintained.Otherwise, consider using whichever services of infrastructure you have available to make the application available through HTTPS, e.g.:
A reverse proxy
AWS Cloudfront (?)
…
Other Methods
Warning |
---|
None of the methods below are supported yet. Feel free to peruse them if you’re interested, but nothing more is to be said about those… |
Expand | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
|
Warning |
---|
These instructions are untested as of yet, and are here purely for future completion. |
Common setup
Prerequisites:
A Snowflake account: Note that trial accounts are not supported.
SnowSQL, the command-line client for executing SQL commands (optional): You can use any Snowflake client that supports executing SQL commands and uploading files to a Snowflake stage. The tutorials are tested using the SnowSQL and the Snowsight web interface. For instructions to install this command-line client, see Installing SnowSQL.
Docker Desktop: These tutorials provide instructions for using Docker Desktop. For installation instructions, see https://docs.docker.com/get-docker/ . Note that you can use any OCI-compliant clients to create images, such as Docker, Podman, or Nerdctl.
Creating the required Snowflake objects. Make sure you have
ACCOUNTADMIN
access to perform these actions. Replace<user_name>
with the name of your Snowflake user who will run the service.Code Block language sql USE ROLE ACCOUNTADMIN; CREATE ROLE tabmove_container_role; CREATE DATABASE IF NOT EXISTS tabmove_container; GRANT OWNERSHIP ON DATABASE tabmove_container TO ROLE tabmove_container_role COPY CURRENT GRANTS; CREATE OR REPLACE WAREHOUSE tabmove_container_warehouse WITH WAREHOUSE_SIZE='X-SMALL'; GRANT USAGE ON WAREHOUSE tabmove_container_warehouse TO ROLE tabmove_container_role; GRANT BIND SERVICE ENDPOINT ON ACCOUNT TO ROLE tabmove_container_role; CREATE COMPUTE POOL tabmove_container_compute_pool MIN_NODES = 1 MAX_NODES = 1 INSTANCE_FAMILY = CPU_X64_S; GRANT USAGE, MONITOR ON COMPUTE POOL tabmove_container_compute_pool TO ROLE tabmove_container_role; GRANT ROLE tabmove_container_role TO USER <user_name>; USE ROLE tabmove_container_role; USE DATABASE tabmove_container; USE WAREHOUSE tabmove_container_warehouse; CREATE SCHEMA IF NOT EXISTS tabmove_container_schema; CREATE IMAGE REPOSITORY IF NOT EXISTS tabmove_container_repository; CREATE STAGE IF NOT EXISTS tabmove_container_stage DIRECTORY = ( ENABLE = true ); USE SCHEMA tabmove_container_schema;
Verify the objects were created correctly:
Code Block SHOW COMPUTE POOLS; SHOW WAREHOUSES; SHOW IMAGE REPOSITORIES; SHOW STAGES;
Define the container service
We can define the TabMove container service (and its postgres dependency) in a way that is very similar to a Docker compose file:
Code Block |
---|
CREATE SERVICE tabmove_service
IN COMPUTE POOL tabmove_container_compute_pool
FROM SPECIFICATION $$
spec:
containers:
- name: tabmove-lite
image: fmniqai-biztory-partner.registry.snowflakecomputing.com/sbx_timothyvermeiren/tabmove_container_schema/tabmove_container_repository/tabmove-lite:latest
env:
POSTGRES_HOST: " |
...
|
...
|
...
Access the serviceWe can first list the services in our account to verify it was created correctly:
Then, what we need to access the service is its endpoint:
The If necessary, we can access the service’s logs (instance ID 0, container name tabmove_lite, tail 10 lines):
|
...
AWS Elastic Container Service (ECS)
Warning |
---|
These instructions are untested as of yet, and are here purely for future completion. |
...
Ensure you have the Amazon ECS CLI installed.
...
Ensure you have your AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, and AWS_SESSION_TOKEN
available to you. Work with your AWS administrator to obtain these if necessary.
...
Configure your local AWS ECS CLI profile with the following command, substituting profile_name
with your desired profile name, and $AWS_ACCESS_KEY_ID
, $AWS_SECRET_ACCESS_KEY
, and AWS_SESSION_TOKEN
environment variables with your AWS credentials.
ecs-cli configure profile --profile-name profile_name --access-key $AWS_ACCESS_KEY_ID --secret-key $AWS_SECRET_ACCESS_KEY --session-token AWS_SESSION_TOKEN
...
In your browser, sign in to your AWS Console and access the AWS ECS service (purely to review the assets being created).
...
Create a new, empty cluster for TabMove:ecs-cli up --region eu-central-1 --cluster tabmove --empty
...
Download the TabMove Lite docker-compose file (docker-compose.yml
). Make note of where you save this file, or place it in a dedicated folder.
...
Bring up the services defined in docker-compose.yml
in the AWS ECS cluster:ecs-cli compose up
...