> For the complete documentation index, see [llms.txt](https://docs.sprinkledata.com/product/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sprinkledata.com/product/integrating-your-data/destination-warehouses/clickhouse.md).

# Clickhouse

This page covers the details about integrating Clickhouse as Warehouse with Sprinkle.

When setting up Clickhouse as Data Warehouse, Sprinkle additionally requires a Cloud bucket. This guide covers the role of all the components and the steps to set up.

#### Step-by-Step Guide - Integrating Clickhouse <a href="#step-by-step-guide" id="step-by-step-guide"></a>

**STEP-1: Allow Clickhouse to accept connection from Sprinkle**

* If Clickhouse server is on **public network**, accessible over public IP, allow inbound connection on Clickhouse port (default is 8123) from Sprinkle IPs (34.93.254.126, 34.93.106.136)
* If Clickhouse server is on **private network**, configure [SSH Tunnel](https://docs.sprinkledata.com/product/integrating-your-data/databases/ssh-tunnel-setup) in Advanced Settings.

**STEP-2: Configure Clickhouse Connection**

* Log into the Sprinkle application
* Navigate to Admin -> Warehouse -> New Warehouse Connection
* Select Clickhouse
* Provide all the mandatory details
  * *Distinct Name\**: Name to identify this connection
  * *Host:* Provide the IP address or Host name.
  * *Port:* Provide the Port number.
  * *Database:* Provide a database name if there is any, it should be an existing database.
  * *Username*
  * *Password*
  * *Advanced Settings:* If Yes:-
    * Connection Properties: You can provide optional connection properties. ex- key1=value1\&key2=value2
    * Connect via SSH Host: Click on "Yes" to configure SSH Tunnel:-
      * SSH Host\*: IP address or hostname of the SSH server
      * SSH Public Key\*: Copy the SSH public key and paste it into the \~/.ssh/authorized\_keys file of the SSH user on the ssh host machine
      * SSH Login Username\*: Provide the SSH Login Username where you added the public key. Further, verify the provided details by testing the connection.
      * *Networking rules from your end:*
        * Make sure the SSH Host has public IP
        * Whitelist Sprinkle IPs (34.93.254.126, 34.93.106.136) in your SSH Host. SSH host should be able to accept traffic from these Sprinkle IPs.
        * Make sure SSH port 22 is open.
* Test Connection.
* Test and Save.

#### In the next step: Create a Cloud Bucket <a href="#in-the-next-step-create-a-cloud-bucket" id="in-the-next-step-create-a-cloud-bucket"></a>

Sprinkle stores all intermediate data and report caches in the cloud bucket. Sprinkle supports creating a bucket in AWS, GCP, or Azure. Refer to respective documents for creating a configuring the Cloud Bucket.

* [Create S3 Bucket](/product/integrating-your-data/destination-warehouses/aws-redshift.md#step-1-create-a-s3-bucket)
* [Create Google Cloud Bucket](/product/integrating-your-data/destination-warehouses/google-bigquery.md#create-cloud-bucket)
* [Create Azure Storage Container](/product/integrating-your-data/destination-warehouses/azure-synapse.md#create-azure-storage-container)
