This Ansible collection provides comprehensive automation for deploying, managing, and maintaining Story protocol network nodes. The playbooks support seamless network participation, configuration, and maintenance across multiple systems.
-
🌐 Network Joining
- Automated Cosmovisor setup
- Simplified network integration
-
🔒 Security Configuration
- Firewall rule management
- Secure node deployment
-
📦 Snapshot Synchronization
- Efficient network state download
- Parallel snapshot retrieval
- Easy node synchronization
-
🔄 Node Management
- Binary upgrades
- Service maintenance
- Flexible configuration
- Operating System: Debian-based Linux distributions (recommended)
- Python 3.x
- Ansible 2.10+
- CPU: 4+ cores
- RAM: 16GB+
- Storage: 500GB SSD
- Network: Stable internet connection (25 MBit/s or more)
git clone https://github.com/your-repo/story-protocol-ansible.git
cd story-protocol-ansibleEdit the inventory file in inventory/story.yaml with your specific node details:
- Node moniker
- Network configuration
- Binary URLs
- Snapshot sources
ansible-playbook playbook/join_network.yaml -i inventory/story.yaml# Check Geth service logs
journalctl -afu geth
# Check Cosmovisor logs
journalctl -afu cosmovisoransible-playbook playbook/snapshot_download.yaml -i inventory/story.yamlansible-playbook playbook/snapshot_check.yaml -i inventory/story.yamlansible-playbook playbook/snapshot_extract.yaml -i inventory/story.yamlNote: During a fresh installation using snapshots, you may encounter a critical initialization error where Cosmovisor fails to locate the latest upgrade binary. This typically occurs when the node's upgrade directory structure is not properly established before snapshot restoration:
ansible-playbook playbook/fix_snapshot_first.yaml -i inventory/story.yaml
- Update
story_geth_binary_urlandstory_geth_binary_version
ansible-playbook playbook/upgrade_geth.yaml -i inventory/story.yaml- Update
story_node_binary_url,story_node_binary_version, andstory_node_upgrade_height
ansible-playbook playbook/upgrade_node.yaml -i inventory/story.yamlstory:
vars:
moniker: story-protocol-node
network_name: odyssey
# ... (other configuration parameters)
hosts:
story-protocol-testnet-node-1:
ansible_host: story-protocol-testnet-node-1
ansible_user: debian- Always backup your node configuration before major upgrades
- Monitor system resources during synchronization
- Use stable and reliable snapshot sources
- Keep Ansible and dependencies updated
- Verify network connectivity
- Check Ansible version compatibility
- Ensure proper permissions for service management
- Review logs for specific error messages
Contributions are welcome! Please submit pull requests or open issues for improvements and bug fixes.
For additional support, please open an issue in the GitHub repository or contact the maintainers.