How to Install ShellHub on Manjaro

ShellHub is an open-source, cloud-based SSH server that allows you to manage all your devices from a centralized dashboard. This tutorial will guide you through the process of installing ShellHub on your Manjaro system.

Step 1: Install Required Packages

Before starting with the installation of ShellHub, it is important to ensure that all necessary packages are installed on your system.

sudo pacman -S git go npm

Step 2: Clone the ShellHub Repository

Next, clone the ShellHub repository from GitHub using the following command:

git clone https://github.com/shellhub-io/shellhub.git

Step 3: Build and Install ShellHub

Navigate to the cloned repository and build ShellHub using the following command:

cd shellhub
make build

Once the build is complete, install ShellHub by running:

sudo make install

Step 4: Install and Set Up MongoDB

ShellHub requires a MongoDB database to store its data. To install and set up MongoDB on your system, follow these steps:

  1. Install MongoDB using pacman:

    sudo pacman -S mongodb
    
  2. Start the MongoDB service:

    sudo systemctl start mongodb
    
  3. Enable the MongoDB service to start on boot:

    sudo systemctl enable mongodb
    
  4. Create a database and user for ShellHub:

    mongo
    use shellhub
    db.createUser({user: "shellhub", pwd: "password", roles: [ { role: "readWrite", db: "shellhub" } ] })
    
  5. Exit the MongoDB shell:

    exit
    

Step 5: Configure ShellHub

Create a configuration file for ShellHub using the following command:

sudo mkdir /etc/shellhub
sudo cp config.example.yml /etc/shellhub/config.yml

Edit the configuration file to match your environment, replacing the following default values with your own:

  • mongodb_uri: mongodb://localhost:27017/shellhub
  • jwt_secret: secretkey
  • tls_key_file: /path/to/tls.key
  • tls_cert_file: /path/to/tls.crt

Step 6: Start ShellHub

Start the ShellHub service using the following command:

sudo systemctl start shellhub

Step 7: Access the ShellHub Web Interface

You can now access the ShellHub web interface by visiting https://<ip-address>. Log in using the default username and password:

  • Username: admin
  • Password: admin

You should change the default password as soon as possible by going to the Settings page in the web interface.

Congratulations! You have successfully installed and set up ShellHub on your Manjaro system.