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

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: