mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-02 12:32:04 +00:00
46 lines
1.6 KiB
Bash
46 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
set -xeuo pipefail
|
|
|
|
# Add cloudflare DNS as a fallback
|
|
# Get default gateway interface
|
|
IFACE=$(ip --json route list | jq '.[]|select(.dst == "default").dev' --raw-output)
|
|
# `Link 2 (eth0): 172.31.0.2`
|
|
ETH_DNS=$(resolvectl dns "$IFACE") || :
|
|
CLOUDFLARE_NS=1.1.1.1
|
|
if [[ "$ETH_DNS" ]] && [[ "${ETH_DNS#*: }" != *"$CLOUDFLARE_NS"* ]]; then
|
|
# Cut the leading legend
|
|
ETH_DNS=${ETH_DNS#*: }
|
|
# shellcheck disable=SC2206
|
|
new_dns=(${ETH_DNS} "$CLOUDFLARE_NS")
|
|
resolvectl dns "$IFACE" "${new_dns[@]}"
|
|
fi
|
|
|
|
# tune sysctl for network performance
|
|
cat > /etc/sysctl.d/10-network-memory.conf << EOF
|
|
net.core.netdev_max_backlog=2000
|
|
net.core.rmem_max=1048576
|
|
net.core.wmem_max=1048576
|
|
net.ipv4.tcp_max_syn_backlog=1024
|
|
net.ipv4.tcp_rmem=4096 131072 16777216
|
|
net.ipv4.tcp_wmem=4096 87380 16777216
|
|
net.ipv4.tcp_mem=4096 131072 16777216
|
|
EOF
|
|
|
|
sysctl -p /etc/sysctl.d/10-network-memory.conf
|
|
|
|
mkdir /home/ubuntu/registrystorage
|
|
|
|
sed -i 's/preserve_hostname: false/preserve_hostname: true/g' /etc/cloud/cloud.cfg
|
|
|
|
REGISTRY_PROXY_USERNAME=robotclickhouse
|
|
REGISTRY_PROXY_PASSWORD=$(aws ssm get-parameter --name dockerhub_robot_password --with-decryption | jq '.Parameter.Value' -r)
|
|
|
|
docker run -d --network=host -p 5000:5000 -v /home/ubuntu/registrystorage:/var/lib/registry \
|
|
-e REGISTRY_STORAGE_CACHE='' \
|
|
-e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \
|
|
-e REGISTRY_STORAGE_DELETE_ENABLED=true \
|
|
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
|
|
-e REGISTRY_PROXY_PASSWORD="$REGISTRY_PROXY_PASSWORD" \
|
|
-e REGISTRY_PROXY_USERNAME="$REGISTRY_PROXY_USERNAME" \
|
|
--restart=always --name registry registry:2
|