{"id":20204201,"url":"https://github.com/openbridge/tableau","last_synced_at":"2026-04-19T17:04:50.739Z","repository":{"id":73272234,"uuid":"573497006","full_name":"openbridge/tableau","owner":"openbridge","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-02T16:40:53.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-13T20:30:44.096Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openbridge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-02T15:49:24.000Z","updated_at":"2022-12-02T16:40:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"2389e95a-4217-47f7-9427-caa14bc728b0","html_url":"https://github.com/openbridge/tableau","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbridge%2Ftableau","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbridge%2Ftableau/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbridge%2Ftableau/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbridge%2Ftableau/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openbridge","download_url":"https://codeload.github.com/openbridge/tableau/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241637593,"owners_count":19995004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T05:09:06.908Z","updated_at":"2026-04-19T17:04:50.707Z","avatar_url":"https://github.com/openbridge.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tableau Unattended Installer\nThe installer script handles host setup of packages, directories, permissions and other variables required to run Tableau Server. This includes running a collection of Tableau Services Manager (`tsm`) and the Tableau command-line utility (`tabcmd`).\n\nIn addition to the host, the installer also will install, configure, and start Tableau Server. By default the installer activates a trial license. A valid product key can be set in the script or you can simply activate the product within the server UI.\n\nNote: This is intended for a standalone, single node deployment.\n\n## Before You Begin\nBefore you install make sure you have a Linux on a computer (or an AWS instance type) that meets the operating system requirements and the minimum hardware requirements for Tableau Server.\n\n### Hardware\nReview the minimum hardware recommendations. The recommendations represent the minimum hardware configuration you should use for a production installation of Tableau Server.\n\n*At minimum, a 64-bit Tableau Server requires a 2-core CPU (the equivalent of 4 AWS vCPUs) and 8 GB RAM. However, a total of 8 CPU cores (16 AWS vCPUs) and 64GB RAM are strongly recommended for a single production Amazon EC2 instance.*\n\nFor development purposes, we have found that 8 AWS vCPUs and 64GB RAM sufficient. We have tested on a `t3.2xlarge` without incident.\n\nTableau states that the following are recommended instance types:\n\n* `c5.4xlarge`\n* `m5.4xlarge`\n* `r5.4xlarge`\n\n\nFor more information, check out the docs: https://help.tableau.com/current/server-linux/en-us/server_hardware_min.htm\n\nTableau suggest you use two volumes: a 30-50 GiB volume for the operating system 100 GiB or larger volume for Tableau Server. For development we typically attach a 75GB EBS volume.\n\n### Operating System\nThe host OS should be CentOS 7.3 or higher (not 8.x). While comparable to CentOS, there were difficulties getting the automated installer to work out-of-the-box Amazon Linux 2.\n\nFor more information on different official AWS AMI options, check out the docs: https://wiki.centos.org/Cloud/AWS\n\n\n## Versions\nThe install process will grab the `RPM` installer for Tableau Server and the PostgreSQL driver. The PostgreSQL driver is installed because it is required when using the built-in administrative views.\n\nThe versions for each are set with variables:\n\n```bash\nexport TABLEAU_SERVER_VERSION=2019-3-0\nexport POSTGRES_VERSION=09.06.0500-1\n```\nThe installer will connect to Tableau, pull the files locally and then install:\n```bash\nwget https://downloads.tableau.com/tssoftware/tableau-server-$TABLEAU_SERVER_VERSION.x86_64.rpm -O /tmp/tableau-server-$TABLEAU_SERVER_VERSION.x86_64.rpm\nwget https://downloads.tableau.com/drivers/linux/yum/tableau-driver/tableau-postgresql-odbc-$POSTGRES_VERSION.x86_64.rpm -O /tmp/tableau-postgresql-odbc-$POSTGRES_VERSION.x86_64.rpm\nyum install -y /tmp/tableau-server $TABLEAU_SERVER_VERSION.x86_64.rpm \\\n               /tmp/tableau-postgresql-odbc-$POSTGRES_VERSION.x86_64.rpm\n```\nThe Tableau Server installer is large, over 1.5 GB. Depending on the network connection, this can take awhile to complete.\n\n### Database (or Data Lake) Drivers\nIn addition to the install packages and drivers, you need to install the driver(s) that align with a downstream data warehouse or data lake. In this case, it would be pre-installing the ODBC driver for Redshift. This is done by setting the Amazon provided version for the `REDSHIFT_VERSION` variable.\n\n```bash\nexport REDSHIFT_VERSION=1.4.7.1000\n```\n\nThe Redshift driver docs are here: https://docs.aws.amazon.com/redshift/latest/mgmt/install-odbc-driver-linux.html\n\n## AWS Build\n```bash\naws ec2 run-instances --image-id ami-abcd1234 --count 1 --instance-type mX.medium \\\n--key-name my-key-pair --subnet-id subnet-abcd1234 --security-group-ids sg-abcd1234 \\\n--user-data file://install.sh\n```\n\n## Registration\nEdit the `reg.json` file provides the information needed to register Tableau Server.\n```json\n{\n  \"city\" : \"Salem\",\n  \"state\" : \"NH\",\n  \"zip\" : \"03079\",\n  \"country\" : \"USA\",\n  \"first_name\" : \"Jason\",\n  \"last_name\" : \"Smith\",\n  \"industry\" : \"Software\",\n  \"eula\" : \"yes\",\n  \"title\" : \"Software Applications Engineer\",\n  \"phone\" : \"5556875309\",\n  \"company\" : \"Example\",\n  \"department\" : \"Engineering\",\n  \"email\" : \"jsmith@example.com\"\n}\n```\nFor more information, see Activate and Register Tableau Server here:\n* https://help.tableau.com/current/server/en-us/activate.htm\n\n## Configuration\nThis is a basic example of a configuration file for initializing Tableau Server.\n\n```json\n{\n   \"configEntities\": {\n      \"gatewaySettings\": {\n         \"_type\": \"gatewaySettingsType\",\n         \"port\": 80,\n         \"firewallOpeningEnabled\": true,\n         \"sslRedirectEnabled\": true,\n         \"publicHost\": \"localhost\",\n         \"publicPort\": 80\n      },\n      \"identityStore\": {\n         \"_type\": \"identityStoreType\",\n         \"type\": \"local\"\n      }\n    },\n     \"configKeys\": {\n        \"gateway.timeout\": \"900\"\n     }\n}\n```\nRemember to apply any changes after you set the configuration files, run `tsm pending-changes apply` to apply the changes from  the .json file config.\n\nFor a full compliment of configuration options, see these links:\n\n* https://help.tableau.com/current/server-linux/en-gb/config_file_example.htm\n* https://help.tableau.com/current/server-linux/en-gb/cli_configuration-set_tsm.htm\n\n## Setting Tableau Host Information\nThere have been reports that if the Host information changes between starts, which can happen on AWS without EIP, you may need to reset the hostname. According to Tableau docs, you would reset this information:\n```bash\ntsm configuration set -k gateway.public.host -v \"ec2-XX-XXX-XX-XX.compute-1.amazonaws.com\" \u0026\u0026 tsm pending-changes apply\n```\n\n## Tableau Data Catalog\n\nIt is suggested that you enable the `Tableau Catalog`. Tableau says:\n\n*Tableau Catalog discovers and indexes all of the content on your Tableau Online site or Tableau Server, including workbooks, data sources, sheets, and flows. Indexing is used to gather information about the content, or metadata, about the schema and lineage of the content. Then from the metadata, Catalog identifies all of the databases, files, and tables used by the content on your Tableau Online site or Tableau Server.*\n\n\n```bash\nsudo /opt/tableau/tableau_server/packages/customer-bin.*/tsm maintenance metadata-services enable\n```\n\nMore info on the Tableau Data catalog is here: https://help.tableau.com/current/server/en-us/dm_catalog_overview.htm\n\n\n## Data Cache\n\nViews published to Tableau Server can have a live connection to a database. This data gets stored in a cache as users view reports. Subsequent views will pull the data the cache, if it is available. By default, Tableau Server will cache and reuse data for as long as possible. To change the default behavior run this command: `tsm data-access caching set -r \u003cvalue\u003e` where `\u003cvalue\u003e` is one of these options:\n\n* empty string (`\"\"`). This is the default value and indicates that Tableau Server should configure cache and always use cached data when available:  `tsm data-access caching set -r \"\"`\n* specifies the maximum number of minutes data should be cached: `tsm data-access caching set -r \"600\"`\n* `always` or `0` (zero). These values indicates that Tableau Server should always get the latest data and that the cache should be refreshed each time a page is reloaded: `tsm data-access caching set -r \"0\"` or `tsm data-access caching set -r \"always\"`\n\nOnce you have set your data cache value, do not forget to apply the changes:\n```bash\ntsm pending-changes apply\n```\n\n## Docker build\nThis is currently experimental. While the process will build, it will fail during a `docker run` command.\n```bash\ndocker build --build-arg \"TABLEAU_SERVER_VERSION=2019-3-0\" --build-arg \"POSTGRES_VERSION=09.06.0500-1\"  -t tableau .\n```\nPer Tableau documents, you should mount host locations for the container. This example shows the various `-v` mounts:\n```bash\ndocker run -v /sys/fs/cgroup:/sys/fs/cgroup -v /var/opt/tableau:/var/opt/tableau -v /run:/run -it tableau bash\nsystemctl status\n```\n\n## Removing Tableau Server\nIn the event you need to wipe the server from a server, you should use the `tableau-\nserver-obliterate` script provided by Tableau. You can find it in `/opt/tableau/tableau_server/packages/scripts.\u003cversion\u003e/`\n\nWhen ready, you can run the script like this:\n\n```bash\nsudo bash -c \"/opt/tableau/tableau_server/packages/scripts.20194.19.1105.1444/tableau-\nserver-obliterate -y -y -y -l\"\n```\n\nThis will wipe **everything**, so take this action with care.\n\n## TODO\n* Install Redshift drivers as part of the install\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbridge%2Ftableau","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbridge%2Ftableau","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbridge%2Ftableau/lists"}