---
id: setup
title: Setup
sidebar_label: Setup
keywords: [install, setup]
description: hyperglass Setup
---

import Link from "@docusaurus/Link";

After hyperglass is [installed](getting-started.mdx), you can run the `hyperglass --help` command to see the available options:

```shell-session
$ hyperglass --help
Usage: hyperglass [OPTIONS] COMMAND [ARGS]...

   hyperglass Command Line Interface

Options:
   -v, --version  🔢 hyperglass version
   -h, --help     🙏 Show this help message

Commands:
   build-ui     🦋 Create a new UI build
   clear-cache  🧼 Clear the Redis cache
   secret       🔒 Generate agent secret
   setup        🧰 Run the setup wizard
   start        🚀 Start web server
```

## Setup Wizard

To start the setup wizard, run `hyperglass setup`.

You'll receive the following prompts:

### Installation Directory

```shell-session
[?] Choose a directory for hyperglass: /Users/ml/hyperglass
 > /home/user/hyperglass
   /etc/hyperglass
```

hyperglass requires a directory on your system to store configuration files, the web UI, logos, etc. You may choose between the current user's home directory or `/etc` (use the up/down arrow keys).

## UI Build

After running the setup, the `build-ui` command needs to be run for the first time. This command creates the required file structure for the UI, initializes frontend dependencies, and generates favicons.

:::caution
If your system's compute resources are too low, the `build-ui` step will likely fail. You can use the `--timeout` flag to increase the default timeout of 180 seconds. You can also set the environment variable `HYPERGLASS_UI_BUILD_TIMEOUT` for the same result. See the [system requirements](production.mdx) section for more information about system resources.
:::

```shell-session
$ hyperglass build-ui
✅ Completed UI build in production mode
```

## Startup

To start hyperglass from the console run `hyperglass start`.

:::important
hyperglass won't start without a `devices.yaml` file. See the [Adding Devices](adding-devices.mdx) section for instructions on how add devices.
:::

```shell-session
$ hyperglass start
```

:::tip Production
Remember to check the [Production](production.mdx) section for instructions on how to run hyperglass in production. It includes instructions and examples for setting up a Reverse Proxy (such as NGINX or Caddy), and running hyperglass as a system service with systemd.
:::
