Installing
This tutorial will guide you through the steps needed to install and run a self-hosted instance of ShellHub on your local machine or on IaaS providers like AWS, Azure, Google Cloud or Digital Ocean.
ShellHub Cloud
If you prefer to use the cloud hosted service of ShellHub instead of self-hosting your own instance, you can skip this step and go to next step for creating an account in ShellHub Cloud.
ShellHub is designed using the microservices design pattern, so that multiple small and isolated services collaborate to provide the server. In order to make it easier to test ShellHub and its features, we have created a Docker Compose environment that brings all of these components up and connects them together on a single machine.
System Requirements¶
Before continuing, make sure:
- Docker Engine and Docker Compose are installed properly.
- Following ports are open: TCP 80 and TCP 22.
Checkout the latest stable version¶
First checkout the latest stable version (v0.9.4) of ShellHub as follows:
git clone -b v0.9.4 https://github.com/shellhub-io/shellhub.git shellhub
Now navigate to ShellHub working directory:
cd shellhub
Generate keys¶
It is required to generate a key pair (private and public) for your ShellHub server instance.
make keygen
Running¶
make start
Be patient, it can take up to 10 minutes for the first time
When ShellHub server is up and running, you access the Web UI on http://localhost.
When running in production you should ensure that you enable SSL
This is commonly achieved by running Nginx with your certificates on your Docker host, service or load balancers in-front of the running container.
Next steps¶
- Creating account for creating the initial user
- Registering a device for registering your first device
- Connecting to a device for connecting to your device