| 1 |
version: '3.8' |
| 2 |
|
| 3 |
services: |
| 4 |
# ZephyrFS Coordinator |
| 5 |
coordinator: |
| 6 |
build: |
| 7 |
context: ../zephyrfs-coordinator |
| 8 |
dockerfile: Dockerfile |
| 9 |
ports: |
| 10 |
- "8080:8080" # gRPC port |
| 11 |
- "8090:8090" # HTTP API port |
| 12 |
- "8091:8091" # Metrics port |
| 13 |
environment: |
| 14 |
- LOG_LEVEL=debug |
| 15 |
volumes: |
| 16 |
- coordinator_data:/data |
| 17 |
networks: |
| 18 |
- zephyr_network |
| 19 |
healthcheck: |
| 20 |
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8091/health"] |
| 21 |
interval: 10s |
| 22 |
timeout: 5s |
| 23 |
retries: 3 |
| 24 |
|
| 25 |
# ZephyrFS Node 1 |
| 26 |
node1: |
| 27 |
build: |
| 28 |
context: . |
| 29 |
dockerfile: Dockerfile.test |
| 30 |
depends_on: |
| 31 |
coordinator: |
| 32 |
condition: service_healthy |
| 33 |
environment: |
| 34 |
- ZEPHYR_COORDINATOR_URL=http://coordinator:8080 |
| 35 |
- ZEPHYR_P2P_PORT=4001 |
| 36 |
- ZEPHYR_API_PORT=8081 |
| 37 |
- ZEPHYR_NODE_ID=node-1 |
| 38 |
- LOG_LEVEL=debug |
| 39 |
volumes: |
| 40 |
- node1_data:/data |
| 41 |
networks: |
| 42 |
- zephyr_network |
| 43 |
|
| 44 |
# ZephyrFS Node 2 |
| 45 |
node2: |
| 46 |
build: |
| 47 |
context: . |
| 48 |
dockerfile: Dockerfile.test |
| 49 |
depends_on: |
| 50 |
coordinator: |
| 51 |
condition: service_healthy |
| 52 |
environment: |
| 53 |
- ZEPHYR_COORDINATOR_URL=http://coordinator:8080 |
| 54 |
- ZEPHYR_P2P_PORT=4002 |
| 55 |
- ZEPHYR_API_PORT=8082 |
| 56 |
- ZEPHYR_NODE_ID=node-2 |
| 57 |
- LOG_LEVEL=debug |
| 58 |
volumes: |
| 59 |
- node2_data:/data |
| 60 |
networks: |
| 61 |
- zephyr_network |
| 62 |
|
| 63 |
# ZephyrFS Node 3 |
| 64 |
node3: |
| 65 |
build: |
| 66 |
context: . |
| 67 |
dockerfile: Dockerfile.test |
| 68 |
depends_on: |
| 69 |
coordinator: |
| 70 |
condition: service_healthy |
| 71 |
environment: |
| 72 |
- ZEPHYR_COORDINATOR_URL=http://coordinator:8080 |
| 73 |
- ZEPHYR_P2P_PORT=4003 |
| 74 |
- ZEPHYR_API_PORT=8083 |
| 75 |
- ZEPHYR_NODE_ID=node-3 |
| 76 |
- LOG_LEVEL=debug |
| 77 |
volumes: |
| 78 |
- node3_data:/data |
| 79 |
networks: |
| 80 |
- zephyr_network |
| 81 |
|
| 82 |
volumes: |
| 83 |
coordinator_data: |
| 84 |
node1_data: |
| 85 |
node2_data: |
| 86 |
node3_data: |
| 87 |
|
| 88 |
networks: |
| 89 |
zephyr_network: |
| 90 |
driver: bridge |