forked from mirrors/thatmattlove-hyperglass
118 lines
3.4 KiB
Text
Executable file
118 lines
3.4 KiB
Text
Executable file
---
|
|
id: getting-started
|
|
title: Getting Started
|
|
sidebar_label: Getting Started
|
|
keywords: [install, configuration]
|
|
description: Getting started with hyperglass
|
|
---
|
|
|
|
import Tabs from "@theme/Tabs";
|
|
import TabItem from "@theme/TabItem";
|
|
|
|
## Automatic installation
|
|
|
|
If your system runs on:
|
|
|
|
- Ubuntu Linux
|
|
- ~~CentOS/Red Had Linux~~
|
|
- macOS (requires [homebrew](https://brew.sh))
|
|
|
|
You should be able to proceed with the automatic installation:
|
|
|
|
```shell-session
|
|
$ curl https://install.hyperglass.io | sudo bash
|
|
```
|
|
|
|
:::caution Piping to bash
|
|
You should be <i>very</i> worried when someone asks you to do what I just did. Downloading a bash script from the internet and piping it to `bash` with root privileges is a terrible idea, unless you fully trust the source. Please don't trust me - go [look at the code](https://github.com/checktheroads/hyperglass/blob/v1.0.0/install.sh) and determine for your self if it's safe to execute. If you feel it's not, please proceed with the manual installation (and [tell me why](https://github.com/checktheroads/hyperglass/issues), so I can fix it).
|
|
:::
|
|
|
|
## Manual Installation
|
|
|
|
### System Dependencies
|
|
|
|
#### Python
|
|
|
|
hyperglass is written in Python 3 and requires Python version 3.6 as a minimum dependency.
|
|
|
|
If you're confident upgrading your system's version of Python won't break your system (many Linux operating systems rely heavily on Python for package management and other system functions), you can install Python 3.6:
|
|
|
|
<Tabs
|
|
defaultValue="debian"
|
|
values={[
|
|
{ label: 'Debian/Ubuntu', value: 'debian' },
|
|
{ label: 'RHEL/CentOS', value: 'rhel' }]}>
|
|
|
|
<TabItem value="debian">
|
|
|
|
```shell-session
|
|
$ sudo apt install -y python3.6-dev python3-pip redis-server
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="rhel">
|
|
|
|
```shell-session
|
|
$ sudo yum install centos-release-scl python3-devel rh-python36
|
|
$ sudo scl enable rh-python36
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
You can then verify your Python 3 version:
|
|
|
|
```shell-session
|
|
$ python3 --version
|
|
Python 3.6.9
|
|
```
|
|
|
|
#### Other Dependencies
|
|
|
|
The hyperglass UI is written in [ReactJS](https://reactjs.org/). As such, some Javascript dependencies are required. hyperglass also relies on [Redis](https://redis.io/) for caching purposes.
|
|
|
|
<Tabs
|
|
defaultValue="debian"
|
|
values={[
|
|
{ label: 'Debian/Ubuntu', value: 'debian' },
|
|
{ label: 'RHEL/CentOS', value: 'rhel' }]}>
|
|
|
|
<TabItem value="debian">
|
|
|
|
```shell-session
|
|
$ curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
|
|
|
|
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
|
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
|
|
|
$ sudo apt update
|
|
$ sudo apt install -y nodejs yarn redis-server
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="rhel">
|
|
|
|
```shell-session
|
|
$ curl -sL https://rpm.nodesource.com/setup_13.x | sudo bash -
|
|
|
|
$ curl -sL https://dl.yarnpkg.com/rpm/yarn.repo -o /etc/yum.repos.d/yarn.repo
|
|
|
|
$ sudo yum -y install gcc-c++ make nodejs yarn redis
|
|
```
|
|
|
|
</TabItem>
|
|
|
|
</Tabs>
|
|
|
|
:::note From the Developer
|
|
I've attempted to abstract away most of the Javascript-related configuration and operational steps, because I think I might be the only network engineer on the planet who actually doesn't mind JS 😂. If you run into any issues with the NodeJS/Yarn installation processes, don't hesitate to [raise an issue](https://github.com/checktheroads/hyperglass/issues) on Github, and I'll do my best to help out.
|
|
:::
|
|
|
|
### Application
|
|
|
|
```shell-session
|
|
$ pip3 install hyperglass
|
|
```
|