Automated Installation Script¶
This installation script is maintained here
Tip
Learning about the software components of the Hyperion architecture is recommended. This automatic setup will use defaults that are not suitable for all scenarios.
Already have some dependencies installed?
The usage of this script is recommended only for fresh installations. If you already have some dependencies installed, please proceed with the manual setup
WSL2
For Windows installation using WSL2, refer to this guide
1. Create a directory for the installer files¶
mkdir -p ~/.hyperion-installer && cd ~/.hyperion-installer
2. Unpack the latest installer¶
wget -qO- https://github.com/eosrio/hyperion-auto-setup/raw/main/install.tar.gz | tar -xvz
3. Install by running¶
./install.sh
Info
The installation script may ask you for the sudo password.
What Gets Installed
The installation script automatically sets up the following components:
1. System Tools
(setup-tools.sh
)
- 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
2. Node.js Environment
(setup-nodejs.sh
)
- 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
3. Process Manager
(setup-pm2.sh
)
- PM2: Production process manager for Node.js applications
- Configures PM2 startup service for automatic application restart
- Sets up system-level PM2 daemon
4. Database Systems
Elasticsearch
(setup-elasticsearch.sh
)
- 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
(setup-mongodb.sh
)
- MongoDB 8.x: Document database for configuration and metadata
- Adds official MongoDB APT repository
- Enables and starts MongoDB service
- Creates version tracking file
Redis
(setup-redis.sh
)
- 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
5. Message Queue
(setup-rabbitmq.sh
)
- 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
6. Hyperion History API
(setup-hyperion.sh
)
- Clones the official Hyperion repository to
~/hyperion
- Installs Node.js dependencies via npm
- Ready for configuration and deployment
4. Post-Installation Steps¶
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
Elasticsearch password
The elastic account password will be saved on the ~/.hyperion-installer/elastic.pass
file, please save this on a safe location, as you might need it later on. If you need to reset this password you can do it with the following command:
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -a -s -b
RabbitMQ Management UI
RabbitMQ Management UI will be available on port 15672
- user:
hyperion_user
- password:
hyperion_password
- vhost:
hyperion
- changing your credentials is recommended, specially if opening access to the management interface is planned
5. Troubleshooting¶
Common Issues¶
- 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
Logs and Diagnostics¶
- Service logs:
sudo journalctl -u <service-name>
- Elasticsearch logs:
/var/log/elasticsearch/
- MongoDB logs:
/var/log/mongodb/
- RabbitMQ logs:
/var/log/rabbitmq/