Le formiche sono insetti sociali che vivono in colonie e sono note per la loro organizzazione e cooperazione.
Ants are social insects that live in colonies and are known for their organization and cooperation.
- Introduction
- Features
- Installation & Deployment
- LCD Display Support
- Configuration
- Disclaimer
- License
Formicaio is an intuitive application designed to help you run and manage nodes on the Autonomi network. This P2P network allows users to share storage and bandwidth in exchange for ANT tokens, an ERC-20 token on the Arbitrum One network.
The name "Formicaio" is derived from the Italian word for "anthill", symbolizing the collaborative and structured nature of both ants and the decentralized network it supports. Just as ants work together to build and maintain their colonies, Formicaio empowers users to collaborate and contribute to the Autonomi network.
Autonomi is a decentralized storage and bandwidth sharing network where users can earn ANT tokens by contributing their resources. The network operates on Arbitrum One, providing fast and cost-effective transactions. (https://forum.autonomi.community/t/formicaio)
With Formicaio, you can easily run and manage nodes using either a graphical user interface (GUI) or a terminal. This flexibility allows you to perform various actions on individual nodes or groups of selected nodes:
- Create new nodes with customizable settings
- Start or stop nodes individually or in batches
- Recycle nodes to generate new peer IDs
- Remove nodes when no longer needed
- Upgrade nodes when new binary versions are available
- View individual node logs in real-time
- Monitor memory and CPU usage with detailed charts
- Sort nodes by different criteria (creation date, status, connected peers, etc.)
The Formicaio backend actively monitors your nodes, providing real-time status updates and comprehensive statistics:
- Rewards balance for each node
- Memory and CPU usage tracking
- Number of records stored locally
- Current peer connections count
- Peers in routing table (k-buckets)
- Shunned peers tracking
- Estimated total nodes in the network
A comprehensive settings panel allows you to customize monitoring tasks and node management:
- Auto-upgrade nodes when new binary versions are available
- Configurable delays for node upgrades
- Version check frequency for the node binary
- Token balance query frequency
- Metrics retrieval frequency
- ERC20 token contract configuration (address and RPC URL)
- LCD display configuration for external monitoring
When setting up nodes, you can define their connection type and custom data directory:
- UPnP support: Attempts to use UPnP to open a port on your home router for incoming connections. If your router doesn't support UPnP, create nodes with UPnP disabled to ensure connectivity.
- Listening IP address: This address determines which network interface the node will bind to for incoming connections. The application supports both IPv4 (e.g.,
0.0.0.0,127.0.0.1) and IPv6 (e.g.,::,fe80::1) addresses, allowing users to control whether the node is accessible on all interfaces, only locally, or on a specific network. This flexibility is useful for running nodes in different environments, such as local development, private networks, or public-facing deployments. - Custom data directory: This directory is where the node will store its persistent data, such as chunks, logs, and configuration files. By assigning a unique data directory to each node, or batch of nodes, users can run multiple nodes on the same machine without data conflicts. This option is especially valuable for advanced setups or when running nodes with different hard disks or mounting points.
The MCP server of Formicaio is designed to seamlessly integrate with any AI agent. This flexibility allows users to leverage the capabilities of various AI models with Formicaio. To illustrate this integration, check out the video demonstration below that showcases how the MCP server can be effectively combined with n8n, an open-source workflow automation tool.
The video highlights the simplicity of connecting Formicaio with AI agents to automate tasks and streamline processes. You can see the integration in action using n8n. We interact with Formicaio through an AI agent via chat, as well as demonstrate how to schedule a task that monitors CPU usage. Based on the detected CPU capacity on the host, the system can automatically request Formicaio to add or remove nodes, ensuring optimal performance. This is the AI prompt used in this showcase:
Make sure the CPU usage on the host is below 50%. If it is, add a new node
instance on Formicaio with the same properties as the existing nodes, using a
port number that is one higher than the highest current port. Also, keep the
total number of nodes to 3; if there are more than 3, remove the extra ones.
Formicaio can be deployed and executed in several ways to suit your needs:
Supported Platforms: Linux, Windows, and macOS
- Download the package for your platform from the latest release
- Extract the package to your desired location
- Run the backend using the binary:
# Linux/macOS ./formicaio start # Windows formicaio.exe start
Upon startup, Formicaio will automatically download the latest node binary. Once complete, the GUI frontend will be accessible at http://localhost:52100.
You can easily enable the MCP Server by using the --mcp flag. This command will launch the MCP Server on the default address of 127.0.0.1:52105:
# Linux/macOS
./formicaio start --mcp
# Windows
formicaio.exe start --mcpIf you wish to specify a different IP address and port for the MCP server, you can do so by using the --mcp-addr <IP>:<port> argument.
The same binary can be used for CLI commands. To see all available commands:
formicaio --helpTo upgrade Formicaio:
- Stop the current Formicaio application
- Download the new version from releases
- Extract over the existing folder:
unzip -o formicaio-v<version>-<platform>.zip -d <existing-formicaio-folder>
- Run the new binary from the same folder
- Data Storage: All Formicaio and node data are stored in the execution directory. Deleting this folder removes all associated data.
- Background Running: Use tools like screen to keep Formicaio running when closing the terminal.
- macOS/Windows Permissions: You may need to authorize the application as unverified. For macOS, follow these instructions.
- macOS Recommendation: Launch from terminal; double-clicking may not work properly.
Formicaio is available on:
- Official UmbrelOS app store: https://apps.umbrel.com
- Through the Formicaio community app store.
To install Formicaio using the UmbrelOS official app store:
- Open your UmbrelOS dashboard and navigate to the App Store
- Search for "Formicaio", and click "Install". The app will be automatically downloaded and set up on your UmbrelOS device
Once installed, you can access Formicaio directly from your UmbrelOS dashboard.
- Add the GitHub URL:
https://github.com/bochaco/formicaio-app-store - Install through the UmbrelOS user interface
Demo: Installation Video
To install the Formicaio widget on UmbrelOS, follow these steps:
- From the UmbrelOS home screen, right-click and select 'Edit widgets', or click the 'Edit widgets' button at the bottom menu
- Search for the Formicaio widget from the list of widgets, and click to activate
- Close the “edit widgets” panel, and you should see the Formicaio widget already on your UmbrelOS home screen displaying the stats and automatically refreshing every 5 secs.
To install on CasaOS:
- Copy this source link:
https://github.com/bochaco/formicaio-casaos-app-store/archive/refs/heads/main.zip - Add it to your CasaOS settings
- Follow the detailed instructions at: https://github.com/bochaco/formicaio-casaos-app-store
Supported Platforms: Linux (amd64/arm64)
git clone https://github.com/bochaco/formicaio
cd formicaio/deploy/local
docker compose up -dAccess the application at http://localhost:52100
# View logs
docker compose logs -f
# Upgrade (without stopping nodes)
docker compose pull formicaio
docker compose down formicaio
docker compose up formicaio -d
# Stop all services
docker compose downSupported Platforms: Linux, Windows, macOS (amd64/arm64)
- Install Podman following the installation guide
- Initialize and start Podman machine:
podman machine init podman machine start # May not be necessary
git clone https://github.com/bochaco/formicaio
cd formicaio/deploy/local/k8s
podman play kube formicaio-pod.yamlAccess the application at http://localhost:52100
Note: The first node creation may take a few seconds as it downloads the node image.
# View logs
podman logs -f formicaio-pod-formicaio
# Upgrade
podman pull docker.io/bochaco/formicaio:latest-native
podman rm formicaio-pod-formicaio -f
podman run --name formicaio -dt -v pod_volume_formicaio:/data -e DB_PATH=/data -e NODE_MGR_ROOT_DIR=/data --pod formicaio-pod docker.io/bochaco/formicaio:latest-native
# Stop services
podman pod stop formicaio-pod
# Start services
podman pod start formicaio-podWhen running Formicaio on a Raspberry Pi, you can connect an external LCD display to show real-time node statistics:
- Formicaio version
- Estimated network size
- Number of running nodes
- Total number of stored records
- Node binary version
- Total rewards balance
- Follow the Raspberry Pi4 LCD setup guide to enable I2C interface
- Note the I2C device path (e.g.,
/dev/i2c-1) and address (usually0x27or0x3F) fromi2cdetect - Configure these settings in Formicaio's settings panel
If using UmbrelOS with read-only boot partition, you may encounter errors. Here's a workaround (use at your own risk):
sudo apt install raspi-config
sudo umount /boot
sudo mount /dev/<boot-fs-device> /boot -t vfat -o rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro
sudo raspi-configFind your boot device with: mount | grep /boot
Formicaio supports various environment variables for customization:
DB_PATH: Database file pathNODE_MGR_ROOT_DIR: Root directory for node dataDOCKER_SOCKET_PATH: Docker socket path (default:/var/run/docker.sock)NODE_CONTAINER_IMAGE_NAME: Node container image nameNODE_CONTAINER_IMAGE_TAG: Node container image tag
Access the settings panel through the web interface to configure:
- Auto-upgrade settings
- Monitoring frequencies
- Network connectivity options
- LCD display configuration
- Token contract settings
The Formicaio backend application and the antnode binary utilize third-party RPC services to retrieve Arbitrum L2 ledger information. Specifically, the application queries https://arb1.arbitrum.io/rpc to check rewards balances for each node instance.
- Privacy: Third-party RPC services may expose your IP address and metadata, potentially allowing tracking of queried addresses
- Data Exposure: Data sent to RPC services may be logged or monitored by service providers
- Consider these risks when using the application
- Take appropriate measures to protect your privacy
- Consider using alternative RPC endpoints if privacy is a concern
This project is licensed under the GNU General Public License (GPL) v3.
- License: GPL-3.0
- Source Code: GitHub Repository
- Issues & Support: GitHub Issues














