Files
compose-anything/src/clickhouse/docker-compose.yaml
2025-11-10 19:55:44 +08:00

53 lines
1.6 KiB
YAML

x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 100m
max-file: "3"
services:
clickhouse:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-24.11.1.2557}
hostname: clickhouse
environment:
TZ: ${TZ:-UTC}
CLICKHOUSE_DB: ${CLICKHOUSE_DB:-default}
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-default}
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-clickhouse}
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: ${CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT:-1}
volumes:
- clickhouse_data:/var/lib/clickhouse
- clickhouse_logs:/var/log/clickhouse-server
# Custom configuration
# - ./config.xml:/etc/clickhouse-server/config.d/config.xml
# - ./users.xml:/etc/clickhouse-server/users.d/users.xml
ports:
- "${CLICKHOUSE_HTTP_PORT_OVERRIDE:-8123}:8123"
- "${CLICKHOUSE_NATIVE_PORT_OVERRIDE:-9000}:9000"
- "${CLICKHOUSE_MYSQL_PORT_OVERRIDE:-9004}:9004"
- "${CLICKHOUSE_POSTGRES_PORT_OVERRIDE:-9005}:9005"
ulimits:
nofile:
soft: 262144
hard: 262144
deploy:
resources:
limits:
cpus: ${CLICKHOUSE_CPU_LIMIT:-4.0}
memory: ${CLICKHOUSE_MEMORY_LIMIT:-4G}
reservations:
cpus: ${CLICKHOUSE_CPU_RESERVATION:-1.0}
memory: ${CLICKHOUSE_MEMORY_RESERVATION:-1G}
healthcheck:
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
clickhouse_data:
clickhouse_logs: