version: '3' services: inference: container_name: inference-basic-eth-pred build: context: . command: python -u /app/app.py ports: - "8000:8000" networks: eth-model-local: aliases: - inference ipv4_address: 172.22.0.4 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/inference/ETH"] interval: 10s timeout: 5s retries: 12 volumes: - ./inference-data:/app/data updater: container_name: updater-basic-eth-pred build: . environment: - INFERENCE_API_ADDRESS=http://inference:8000 command: > sh -c " while true; do python -u /app/update_app.py; sleep 24h; done " depends_on: inference: condition: service_healthy networks: eth-model-local: aliases: - updater ipv4_address: 172.22.0.5 worker: container_name: worker-basic-eth-pred environment: - INFERENCE_API_ADDRESS=http://inference:8000 - HOME=/data build: context: . dockerfile: Dockerfile_b7s entrypoint: - "/bin/bash" - "-c" - | if [ ! -f /data/keys/priv.bin ]; then echo "Generating new private keys..." mkdir -p /data/keys cd /data/keys allora-keys fi # Change boot-nodes below to the key advertised by your head allora-node --role=worker --peer-db=/data/peerdb --function-db=/data/function-db \ --runtime-path=/app/runtime --runtime-cli=bls-runtime --workspace=/data/workspace \ --private-key=/data/keys/priv.bin --log-level=debug --port=9011 \ --boot-nodes=/ip4/172.22.0.100/tcp/9010/p2p/head-id \ --topic=1 volumes: - ./worker-data:/data working_dir: /data depends_on: - inference - head networks: eth-model-local: aliases: - worker ipv4_address: 172.22.0.10 head: container_name: head-basic-eth-pred image: alloranetwork/allora-inference-base-head:latest environment: - HOME=/data entrypoint: - "/bin/bash" - "-c" - | if [ ! -f /data/keys/priv.bin ]; then echo "Generating new private keys..." mkdir -p /data/keys cd /data/keys allora-keys fi allora-node --role=head --peer-db=/data/peerdb --function-db=/data/function-db \ --runtime-path=/app/runtime --runtime-cli=bls-runtime --workspace=/data/workspace \ --private-key=/data/keys/priv.bin --log-level=debug --port=9010 --rest-api=:6000 ports: - "6000:6000" volumes: - ./head-data:/data working_dir: /data networks: eth-model-local: aliases: - head ipv4_address: 172.22.0.100 networks: eth-model-local: driver: bridge ipam: config: - subnet: 172.22.0.0/24 volumes: inference-data: worker-data: head-data: