version: "3.9" services: ohmyurl-cassandra-1: container_name: "ohmyurl-cassandra-1" hostname: "ohmyurl-cassandra-1" build: ./config/cassandra image: ohmyurl-cassandra:4 environment: &cassandra-environment - MAX_HEAP_SIZE=4G - HEAP_NEWSIZE=800M - CASSANDRA_SEEDS=ohmyurl-cassandra-1,ohmyurl-cassandra-2,ohmyurl-cassandra-3 ports: - "9042:9042" volumes: - cassandra_1_data:/var/lib/cassandra networks: - ohmyurl-net init: true ohmyurl-cassandra-2: container_name: "ohmyurl-cassandra-2" hostname: "ohmyurl-cassandra-2" image: ohmyurl-cassandra:4 environment: *cassandra-environment depends_on: - ohmyurl-cassandra-1 ports: - "9043:9042" volumes: - cassandra_2_data:/var/lib/cassandra networks: - ohmyurl-net init: true ohmyurl-cassandra-3: container_name: "ohmyurl-cassandra-3" hostname: "ohmyurl-cassandra-3" image: ohmyurl-cassandra:4 environment: *cassandra-environment depends_on: - ohmyurl-cassandra-1 ports: - "9044:9042" volumes: - cassandra_3_data:/var/lib/cassandra networks: - ohmyurl-net init: true ohmyurl-init-cassandra: container_name: "ohmyurl-init-cassandra" build: context: ./config/cassandra dockerfile: Dockerfile.init.cassandra image: "ohmyurl-init-cassandra" env_file: - ./config/cassandra/init-cassandra.env depends_on: - ohmyurl-cassandra-1 networks: - ohmyurl-net ohmyurl-web: container_name: "ohmyurl-web" hostname: "ohmyurl-web" build: . image: ohmyurl-web:1.1 environment: - DB=cassandra - CASSANDRA_APP_LABEL=ohmyurl-1 - CASSANDRA_URL_START_ID=1 - CASSANDRA_URL_END_ID=10000 env_file: - ./app/config/cassandra.env ports: - "8080:8080" - "8081:8081" depends_on: - ohmyurl-cassandra-1 networks: - ohmyurl-net init: true ohmyurl-nginx: container_name: "ohmyurl-nginx" image: nginx:1.25.3-alpine ports: - 80:80 volumes: - ./config/nginx/nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - ohmyurl-web networks: - ohmyurl-net init: true networks: ohmyurl-net: driver: bridge volumes: cassandra_1_data: cassandra_2_data: cassandra_3_data: