--- title: "Setting up a ClickHouse database using docker" oauthor: "[Patrice Godard](mailto:patrice.godard@gmail.com?Subject=ClickHouseHTTP)" date: "`r format(Sys.time(), '%B %d %Y')`" always_allow_html: true output: html_document: keep_md: no number_sections: yes self_contained: yes theme: cerulean toc: yes toc_float: yes pdf_document: toc: yes number_sections: yes package: ClickHouseHTTP (version `r packageVersion('ClickHouseHTTP')`) vignette: > %\VignetteIndexEntry{Setting up a ClickHouse database using docker} %\VignetteEncoding{UTF-8} %\VignetteEngine{knitr::rmarkdown} editor_options: chunk_output_type: console --- # Configuration ```{sh, eval=FALSE} CH_VERSION=26.3.9.8 CH_HOME=~/Documents/Projects/Tests/Test_CH mkdir -p $CH_HOME mkdir -p ${CH_HOME}/data mkdir -p ${CH_HOME}/conf mkdir -p ${CH_HOME}/log docker create --name temp_ch clickhouse/clickhouse-server:$CH_VERSION docker cp temp_ch:/etc/clickhouse-server/. ${CH_HOME}/conf/ docker stop temp_ch docker rm temp_ch docker volume prune -f echo '\n ' > ${CH_HOME}/conf/users.d/default-password.xml ``` # SSL certificate ```{sh, eval=FALSE} openssl req -subj "/CN=localhost" -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout ${CH_HOME}/conf/server.key -out ${CH_HOME}/conf/server.crt openssl dhparam -out ${CH_HOME}/conf/dhparam.pem 2048 echo '\n 8443 /etc/clickhouse-server/server.crt /etc/clickhouse-server/server.key /etc/clickhouse-server/dhparam.pem none true true sslv2,sslv3 true ' > ${CH_HOME}/conf/config.d/ssl.xml ``` # Container The following ports are supported: - 9000: Native TCP interface (not used by ClickHouseHTTP) - 9440: Native TCP interface wrapped in TLS (not used by ClickHouseHTTP) - 8123: HTTP interface - 8443: HTTPS interface ```{sh, eval=FALSE} chmod -R a+rwx ${CH_HOME} docker run -d --name Test_CH \ --ulimit nofile=262144:262144 \ --publish=9000:9000 \ --publish=9440:9440 \ --publish=8123:8123 \ --publish=8443:8443 \ --volume ${CH_HOME}/data:/var/lib/clickhouse \ --volume ${CH_HOME}/conf:/etc/clickhouse-server \ --volume ${CH_HOME}/log:/var/log/clickhouse-server \ clickhouse/clickhouse-server:$CH_VERSION ```