Enterprise

# Set up Synnax Enterprise

> Install and start a Synnax Core, log in from the Console, and activate a license.

Synnax Enterprise is a Synnax Core that your team runs on its own computers. People connect to it with the Synnax Console, the client libraries, and standalone Synnax Drivers, and each person logs in as a user. To compare Enterprise with Synnax Desktop, see [Synnax editions](https://docs.synnaxlabs.com/reference/get-started/editions).

Do the steps below to install a Core, start it, log in, and activate its license. You need:

* A computer that meets the [requirements](https://docs.synnaxlabs.com/reference/enterprise/requirements).
* An account on the [Synnax portal](https://portal.synnaxlabs.com/) with a license. See [get a portal account](https://docs.synnaxlabs.com/reference/enterprise/license#get-a-portal-account).

## Step 1Install the Core

Select your operating system.

**Linux**

Download the latest binary:

```bash
curl -LO https://github.com/synnaxlabs/synnax/releases/download/core/v0.60.0/synnax-v0.60.0-linux
```

Move the binary to `/usr/local/bin`:

```bash
sudo mv synnax-v0.60.0-linux /usr/local/bin/synnax
```

Make the binary executable. If you do not have the necessary permissions, use `sudo`:

```bash
chmod +x /usr/local/bin/synnax
```

If `/usr/local/bin` is not in your `PATH`, add it. This command is for `bash`. For `zsh`, change `~/.bashrc` to `~/.zshrc`:

```bash
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
```

Verify the installation:

```bash
synnax --version
```

You should see:

```text
Synnax v0.60.0
```

**Windows**

Download and run the latest installer. The installer adds `synnax` to your `PATH`.

[Download Synnax v0.60.0 for Windows](https://github.com/synnaxlabs/synnax/releases/download/core/v0.60.0/synnax-setup-v0.60.0.exe)

Earlier versions are on the [Synnax releases page](https://github.com/synnaxlabs/synnax/releases).

The installer also offers to install the Core as a Windows service, and selects that option by default. With the service, the Core starts now and each time Windows starts, so skip step 2. To change the service later, see [Run the Core as a service](https://docs.synnaxlabs.com/reference/enterprise/service).

Verify the installation in a **PowerShell** terminal:

```powershell
synnax --version
```

You should see:

```text
Synnax v0.60.0
```

**macOS**

Download the latest binary for Apple silicon:

```bash
curl -LO https://github.com/synnaxlabs/synnax/releases/download/core/v0.60.0/synnax-v0.60.0-macos
```

Move the binary to `/usr/local/bin`:

```bash
sudo mv synnax-v0.60.0-macos /usr/local/bin/synnax
```

Make the binary executable. If you do not have the necessary permissions, use `sudo`:

```bash
chmod +x /usr/local/bin/synnax
```

If `/usr/local/bin` is not in your `PATH`, add it:

```bash
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.zshrc
```

Verify the installation:

```bash
synnax --version
```

You should see:

```text
Synnax v0.60.0
```

**Docker**

> A Core in a Docker container cannot access devices that connect to the host computer. To acquire data from devices with the Driver, install the Core directly on the host operating system.

Pull the latest image from Docker Hub. The image runs on `linux/amd64`.

```bash
docker pull synnaxlabs/synnax:latest
```

## Step 2Start the Core

**Linux**

```bash
synnax start --listen=localhost:9090 --insecure
```

**Windows**

```powershell
synnax start --listen=localhost:9090 --insecure
```

**macOS**

```bash
synnax start --listen=localhost:9090 --insecure
```

**Docker**

```bash
docker run --name synnax -p 9090:9090 --mac-address 02:5a:00:00:00:01 \
  -v synnax-data:/synnax/synnax-data \
  synnaxlabs/synnax --listen=localhost:9090 --insecure
```

The `-p 9090:9090` option maps port 9090 on the host to the container. The `-v` option keeps the data in a Docker volume named `synnax-data`. The license is bound to the `--mac-address`, so keep the same address when you recreate or upgrade the container. To start the same container again later, run `docker start synnax`.

| Flag                      | Description                            |
| ------------------------- | -------------------------------------- |
| `--listen=localhost:9090` | The address of the Core.               |
| `--insecure`              | Run without TLS. Use it to learn only. |

The Core keeps its data in a `synnax-data` folder and its logs in a `synnax-logs` folder, in the folder where you ran the command. It listens on port 9090 of every network interface of the computer, so other computers on your network can reach it. Your firewall can ask you to allow the connection.

To stop the Core, press **Ctrl+C** in the terminal. For other flags, see the [CLI reference](https://docs.synnaxlabs.com/reference/enterprise/cli-reference). Before your team relies on the Core, work through the [production checklist](https://docs.synnaxlabs.com/reference/enterprise/production-checklist).

## Step 3Open the Console and log in

The Core serves the Synnax Console to your web browser. When the Core starts without a license, its log prints the address to open.

1. In a web browser on the same computer, go to `http://localhost:9090`.
2. Enter the username `synnax` and the password `seldon`. These are the credentials of the root user of a new Core.
3. Click **Log in**.

The Console shows **This Core needs a license**. The Core refuses all other requests until you activate a license.

The Console is also a desktop application for Windows and macOS. To use it, see [Connect the Console](https://docs.synnaxlabs.com/reference/enterprise/console).

## Step 4Activate the license

1. On the activation screen, click **Copy fingerprint**, then click **Get a key**. Log in to the portal.
2. Select the license, enter a **Machine name**, and paste the fingerprint into **Host hashes**.
3. Click **Activate and download license key**. Your browser downloads a `.lic` file.
4. In the Console, click and select the `.lic` file.
5. Click **Activate**. The Console shows **Projects**.

The Core stores the key in its data folder, so it stays active after a restart. To give the key at start instead, pass the file with `--license-file`:

```bash
synnax start --listen=localhost:9090 --insecure --license-file=synnax.lic
```

With Docker, add `-e SYNNAX_LICENSE_KEY="$(cat synnax.lic)"` to `docker run` instead. For more methods, see [Activate a license](https://docs.synnaxlabs.com/reference/enterprise/license).

## Step 5Create a project

In the Console, click **New project**. The project opens, and you can create channels, plots, and schematics in it.

## Next steps

* [Register users](https://docs.synnaxlabs.com/reference/enterprise/users) for your team.
* [Run the Core as a service](https://docs.synnaxlabs.com/reference/enterprise/service) so it starts at boot.
* [Set up TLS](https://docs.synnaxlabs.com/reference/enterprise/tls) to encrypt connections.
* [Connect a data acquisition device](https://docs.synnaxlabs.com/reference/hardware) with the Driver.
* [Create channels](https://docs.synnaxlabs.com/reference/channels/create).
* Write and read data with the [Python or TypeScript client](https://docs.synnaxlabs.com/reference/client/quick-start).
