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.
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
Next, clone the ShellHub repository from GitHub using the following command:
git clone https://github.com/shellhub-io/shellhub.git
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
ShellHub requires a MongoDB database to store its data. To install and set up MongoDB on your system, follow these steps:
Install MongoDB using pacman:
sudo pacman -S mongodb
Start the MongoDB service:
sudo systemctl start mongodb
Enable the MongoDB service to start on boot:
sudo systemctl enable mongodb
Create a database and user for ShellHub:
mongo
use shellhub
db.createUser({user: "shellhub", pwd: "password", roles: [ { role: "readWrite", db: "shellhub" } ] })
Exit the MongoDB shell:
exit
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
Start the ShellHub service using the following command:
sudo systemctl start shellhub
You can now access the ShellHub web interface by visiting https://<ip-address>
. Log in using the default username and password:
admin
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.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!