Skip to main content

Story Ansible

Story Node Deployment is a project that uses Ansible to automate the deployment of Story nodes. Story is the world's intellectual property blockchain, providing an entry point for programmable IP for next-generation AI, DeFi, and consumer applications.

Features

  • Automated deployment of Story nodes
  • Support for default pruned nodes and archive nodes
  • Customizable ports
  • Option to expose endpoints

Prerequisites

  1. Ansible installed
  2. SSH key configured for connecting to target servers

Installation

Clone the repository to your local machine:

git clone https://github.com/silentnoname/story-ansible
cd story-ansible

Configuration

Copy the example configuration file:

cp inventory.ini.example inventory.ini

Edit inventory.ini:

  • Modify server information
  • Set type=archive for archive nodes, type=default for default pruned
  • Set endpoint=enabled to expose endpoints, otherwise set endpoint=false

Adjust variables in group_vars/all.yml as needed.

Running

Run the following command to deploy nodes:

ansible-playbook main.yml -e "target=story story_geth_snapshot_url=<your story geth snapshot> story_snapshot_url=<your story snapshot>"

For archive nodes:

ansible-playbook main.yml -e "target=story story_archive_snapshot_url=<your story archive snapshot> story_geth_snapshot_url=<your story geth snapshot>"

Key Files

  • main.yml: Main playbook file defining the deployment process
  • inventory.ini: Defines target servers
  • group_vars/all.yml: Defines global variables
  • roles/: Contains tasks for each role

Roles

  • prepare: Prepares the system environment
  • node_install: Installs Story node software
  • node_init: Initializes the node
  • node_configure: Configures the node
  • node_launch: Launches the node service

Notes

  • Ensure all necessary variables are correctly configured before running the playbook
  • To customize ports, modify custom_port_prefix in group_vars/all.yml
    • Default P2P port: 29256 (or {{ custom_port_prefix }}56 if customized)
    • Default RPC port: 29257 (or {{ custom_port_prefix }}57 if customized)
    • Default API port: 29217 (or {{ custom_port_prefix }}17 if customized)

For more information and the latest updates, visit the Story Ansible GitHub repository.