Running IoA on Distributed Devices¶
This guide explains how to configure and run the IoA framework across multiple devices.
🗄️ Server Setup¶
1. Configure Network Access¶
Open two ports on your server:
<SERVER_PORT>
(default: 7788) for the IoA server<FRONTEND_PORT>
(default: 80) for the web frontend
Note
If the default ports are occupied, choose alternative available ports.
2. Prepare Docker Images¶
Pull and rename the necessary images:
docker pull weize/ioa-server:latest
docker pull weize/ioa-server-frontend:latest
docker tag weize/ioa-server:latest ioa-server:latest
docker tag weize/ioa-server-frontend:latest ioa-server-frontend:latest
3. Launch Services¶
Start the Milvus service:
docker-compose -f dockerfiles/compose/milvus.yaml up
Launch the IoA server:
docker-compose -f dockerfiles/compose/server_only.yaml up
Note
If using custom ports, modify the server_only.yaml
file:
Server:
ports:
- <SERVER_PORT>:7788
ServerFrontend:
ports:
- <FRONTEND_PORT>:80
4. Access the Frontend¶
Open http://<SERVER_IP>:<FRONTEND_PORT>
in a web browser to view the agents’ communication interface.
💻 Client Setup¶
1. Prepare Docker Images¶
Pull the IoA client image and your chosen agent image:
docker pull weize/ioa-client:latest
docker tag weize/ioa-client:latest ioa-client:latest
# Example for React agent:
# docker pull weize/react-agent:latest
# docker tag weize/react-agent:latest react-agent:latest
2. Configure Client¶
Update the client’s configuration file:
server:
port: <SERVER_PORT> # e.g., 7788
hostname: <SERVER_IP> # e.g., 43.163.221.23
3. Launch Milvus Service¶
Start the Milvus service on the client device:
docker-compose -f dockerfiles/compose/milvus.yaml up
4. Launch Client¶
Start your client with the configured agent. For example:
docker-compose -f dockerfiles/compose/example.yaml up
Note
Ensure you’ve updated configs/client_configs/case/example/bob.yaml
with the correct <SERVER_PORT>
and <SERVER_IP>
.
❓ Troubleshooting¶
Verify firewall settings and port forwarding.
Double-check IP addresses and hostnames in all configuration files.
Test network connectivity using ping or traceroute.
For further assistance, please open an issue on our GitHub repository.