This repository provides an automated installation script for Hyperion History API, a scalable full history solution for EOSIO-based blockchains.
Hyperion is a full history solution that provides fast access to indexed blockchain data on EOSIO-based networks. It offers:
- High-performance API endpoints for historical data
- Real-time streaming capabilities
- Advanced search and filtering options
- Scalable architecture for enterprise deployments
- Operating System: Ubuntu 22.04 LTS (jammy) or Ubuntu 24.04 LTS (noble)
- Architecture: amd64 (x86_64)
- Memory: Minimum 8GB RAM (16GB+ recommended)
- Storage: At least 100GB free space (varies based on blockchain size)
- Network: Stable internet connection for downloading packages
mkdir -p ~/.hyperion-installer && cd ~/.hyperion-installer
wget -qO- https://github.com/eosrio/hyperion-auto-setup/raw/main/install.tar.gz | tar -xvz
./install.sh
The installation script automatically sets up the following components:
- jq: JSON processor for configuration parsing
- curl: HTTP client for downloading packages
- git: Version control system
- unzip: Archive extraction utility
- gnupg: GPG tools for package verification
- lsb-release: Linux distribution information
- net-tools: Network utilities
- apt-transport-https: HTTPS transport for APT
- FNM (Fast Node Manager): Node.js version manager
- Node.js 24.x: Latest LTS version (or 22.16+ if compatible)
- npm: Node.js package manager
- Configures shell environment for FNM
- PM2: Production process manager for Node.js applications
- Configures PM2 startup service for automatic application restart
- Sets up system-level PM2 daemon
- Elasticsearch 9.x: Search and analytics engine (accepts v8/v9)
- Configures security settings and certificates
- Generates elastic user password (saved to
elastic.pass
) - Enables and starts Elasticsearch service
- MongoDB 8.x: Document database for configuration and metadata
- Adds official MongoDB APT repository
- Enables and starts MongoDB service
- Creates version tracking file
- Redis 8.x: In-memory data store for caching (accepts v7+)
- Adds official Redis APT repository
- Enables and starts Redis service
- Creates version tracking file
- RabbitMQ: Message broker for distributed processing
- Erlang: Required runtime environment
- Enables RabbitMQ management plugin
- Creates dedicated vhost and user:
- VHost:
hyperion
- User:
hyperion_user
- Password:
hyperion_password
- VHost:
- Configures proper permissions and administrator access
- Clones the official Hyperion repository to
~/hyperion
- Installs Node.js dependencies via npm
- Ready for configuration and deployment
The installer follows this sequence:
- System Check: Verifies Ubuntu 22.04 or 24.04
- Tool Installation: Installs required system utilities
- Node.js Setup: Installs and configures Node.js environment
- Service Installation: Sets up databases and message queue
- Hyperion Clone: Downloads and prepares Hyperion API
Each component is checked before installation - if already present with compatible versions, the installation is skipped.
After successful installation:
-
Navigate to Hyperion directory:
cd ~/hyperion
-
Configure Hyperion: Follow the official configuration documentation for detailed setup instructions
-
Start Services: Ensure all services are running:
sudo systemctl status elasticsearch sudo systemctl status mongod sudo systemctl status redis-server sudo systemctl status rabbitmq-server
-
Access Credentials:
- Elasticsearch password: stored in
~/hyperion-installer/elastic.pass
- RabbitMQ:
hyperion_user
/hyperion_password
- Elasticsearch password: stored in
- Unsupported OS: Only Ubuntu 22.04 and 24.04 are supported
- Insufficient Permissions: Ensure your user has sudo access
- Network Issues: Check internet connectivity for package downloads
- Port Conflicts: Default ports used:
- Elasticsearch: 9200, 9300
- MongoDB: 27017
- Redis: 6379
- RabbitMQ: 5672, 15672
- Service logs:
sudo journalctl -u <service-name>
- Elasticsearch logs:
/var/log/elasticsearch/
- MongoDB logs:
/var/log/mongodb/
- RabbitMQ logs:
/var/log/rabbitmq/
To uninstall components, use the provided removal scripts:
./remove.sh # Removes all components
Or remove individual components:
./remove-hyperion.sh
./remove-elasticsearch.sh
./remove-mongodb.sh
./remove-redis.sh
./remove-rabbitmq.sh
./remove-nodejs.sh
./remove-pm2.sh
./remove-tools.sh
For issues related to:
- Installation Script: Open an issue in this repository
- Hyperion Configuration: Visit the official Hyperion documentation
This project is licensed under the same terms as the Hyperion History API.