51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
|
|
services:
|
|
cassandra:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}cassandra:${CASSANDRA_VERSION:-5.0.2}
|
|
ports:
|
|
- "${CASSANDRA_CQL_PORT_OVERRIDE:-9042}:9042"
|
|
- "${CASSANDRA_THRIFT_PORT_OVERRIDE:-9160}:9160"
|
|
volumes:
|
|
- cassandra_data:/var/lib/cassandra
|
|
- cassandra_logs:/var/log/cassandra
|
|
|
|
# Custom configuration
|
|
# - ./cassandra.yaml:/etc/cassandra/cassandra.yaml:ro
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- CASSANDRA_CLUSTER_NAME=${CASSANDRA_CLUSTER_NAME:-Test Cluster}
|
|
- CASSANDRA_DC=${CASSANDRA_DC:-datacenter1}
|
|
- CASSANDRA_RACK=${CASSANDRA_RACK:-rack1}
|
|
- CASSANDRA_ENDPOINT_SNITCH=${CASSANDRA_ENDPOINT_SNITCH:-GossipingPropertyFileSnitch}
|
|
- CASSANDRA_NUM_TOKENS=${CASSANDRA_NUM_TOKENS:-256}
|
|
- CASSANDRA_SEEDS=${CASSANDRA_SEEDS:-cassandra}
|
|
- CASSANDRA_START_RPC=${CASSANDRA_START_RPC:-false}
|
|
- MAX_HEAP_SIZE=${MAX_HEAP_SIZE:-1G}
|
|
- HEAP_NEWSIZE=${HEAP_NEWSIZE:-100M}
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${CASSANDRA_CPU_LIMIT:-2.00}
|
|
memory: ${CASSANDRA_MEMORY_LIMIT:-2G}
|
|
reservations:
|
|
cpus: ${CASSANDRA_CPU_RESERVATION:-0.50}
|
|
memory: ${CASSANDRA_MEMORY_RESERVATION:-1G}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "cqlsh -e 'DESCRIBE CLUSTER'"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
|
|
volumes:
|
|
cassandra_data:
|
|
cassandra_logs:
|