Skip to content

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
  • 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:

  1. Navigate to Hyperion directory:

    cd ~/hyperion
    

  2. Configure Hyperion: Follow the official configuration documentation for detailed setup instructions

  3. 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
    

  4. Access Credentials:

    • Elasticsearch password: stored in ~/hyperion-installer/elastic.pass
    • RabbitMQ: hyperion_user / hyperion_password
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/

6. Proceed with the configuration

Hyperion Configuration