version: '3.8'
services:
cube-node-1:
build: .
container_name: cube-node-1
hostname: cube-node-1
environment:
- CUBE_NODE_ID=node-1
- CUBE_HOST=cube-node-1
- CUBE_PORT=8080
- CUBE_DATA_DIR=/var/lib/cube/data
- CUBE_HINTS_DIR=/var/lib/cube/hints
- JAVA_OPTS=-Xmx1G -Xms512M
ports:
- "8080:8080"
volumes:
- cube-node-1-data:/var/lib/cube/data
- cube-node-1-hints:/var/lib/cube/hints
networks:
- cube-cluster
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
restart: unless-stopped
cube-node-2:
build: .
container_name: cube-node-2
hostname: cube-node-2
environment:
- CUBE_NODE_ID=node-2
- CUBE_HOST=cube-node-2
- CUBE_PORT=8080
- CUBE_DATA_DIR=/var/lib/cube/data
- CUBE_HINTS_DIR=/var/lib/cube/hints
- JAVA_OPTS=-Xmx1G -Xms512M
ports:
- "8081:8080"
volumes:
- cube-node-2-data:/var/lib/cube/data
- cube-node-2-hints:/var/lib/cube/hints
networks:
- cube-cluster
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
restart: unless-stopped
cube-node-3:
build: .
container_name: cube-node-3
hostname: cube-node-3
environment:
- CUBE_NODE_ID=node-3
- CUBE_HOST=cube-node-3
- CUBE_PORT=8080
- CUBE_DATA_DIR=/var/lib/cube/data
- CUBE_HINTS_DIR=/var/lib/cube/hints
- JAVA_OPTS=-Xmx1G -Xms512M
ports:
- "8082:8080"
volumes:
- cube-node-3-data:/var/lib/cube/data
- cube-node-3-hints:/var/lib/cube/hints
networks:
- cube-cluster
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
restart: unless-stopped
volumes:
cube-node-1-data:
driver: local
cube-node-1-hints:
driver: local
cube-node-2-data:
driver: local
cube-node-2-hints:
driver: local
cube-node-3-data:
driver: local
cube-node-3-hints:
driver: local
networks:
cube-cluster:
driver: bridge