oh-my-url/docker-compose-cassandra.yml

105 lines
2.3 KiB
YAML

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: