version: '3.9' x-cassandra: &cassandra restart: always image: public.ecr.aws/docker/library/cassandra:${CASSANDRA_TAG:-3.11} environment: CASSANDRA_BROADCAST_ADDRESS: "1.2.3.4" CASSANDRA_RPC_ADDRESS: "0.0.0.0" HEAP_NEWSIZE: "128M" MAX_HEAP_SIZE: "2048M" #ports: # - "9042:9042" # - "9142:9142" command: - /bin/bash - -c - | /opt/cassandra/bin/cassandra -f -R > /cassandra.log & /opt/cassandra/bin/cqlsh -u cassandra -p cassandra -e "CREATE KEYSPACE mqtt WITH REPLICATION = { 'class':'SimpleStrategy','replication_factor':1};" while [[ $$? -ne 0 ]];do sleep 5; /opt/cassandra/bin/cqlsh -u cassandra -p cassandra -e "CREATE KEYSPACE mqtt WITH REPLICATION = { 'class':'SimpleStrategy','replication_factor':1};"; done /opt/cassandra/bin/cqlsh -u cassandra -p cassandra -e "describe keyspaces;" tail -f /cassandra.log networks: - emqx_bridge services: cassandra_server: <<: *cassandra container_name: cassandra volumes: - ./certs:/certs - ./cassandra/cassandra.yaml:/etc/cassandra/cassandra.yaml cassandra_noauth_server: <<: *cassandra container_name: cassandra_noauth volumes: - ./certs:/certs - ./cassandra/cassandra_noauth.yaml:/etc/cassandra/cassandra.yaml