> ## Documentation Index
> Fetch the complete documentation index at: https://stellar-relay.xdr.ooo/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Start Stellar alert forwarding, case forwarding, or both streams.

At least one stream must be fully configured. Alert and case forwarding can be enabled independently or together.

## Before you start

Make sure the relay host has:

* Python 3
* Network access to the Stellar Cyber API
* Network access to each destination TCP listener
* Valid Stellar Cyber API access for the runtime script
* `Stellar_Alert_Case_Syslog.py`

## Alert only

Use this mode when only alert forwarding is required.

```bash theme={null}
python3 Stellar_Alert_Case_Syslog.py \
  --alert-interval 60 \
  --alert-syslog-ip 10.10.10.20 \
  --alert-syslog-port 5201
```

The alert stream requires all three settings: interval, destination IP, and destination port.

## Case only

A case-only deployment can be started with:

```bash theme={null}
python3 Stellar_Alert_Case_Syslog.py \
  --case-interval 3600 \
  --case-syslog-ip 10.10.10.20 \
  --case-syslog-port 5142 \
  --case-include-summary \
  --no-case-format-summary \
  --case-fetch-timeout 90
```

The case stream requires an interval, destination IP, and destination port. The example also enables the recommended case summary and fetch-timeout options.

## Alert and case together

Configure both complete streams in the same process:

```bash theme={null}
python3 Stellar_Alert_Case_Syslog.py \
  --alert-interval 60 \
  --alert-syslog-ip 10.10.10.20 \
  --alert-syslog-port 5201 \
  --case-interval 3600 \
  --case-syslog-ip 10.10.10.20 \
  --case-syslog-port 5142 \
  --case-include-summary \
  --no-case-format-summary \
  --case-fetch-timeout 90
```

Alert and case streams can point to the same receiver or to separate destinations.

## Stream enablement rules

| Stream | Required settings                                              |
| ------ | -------------------------------------------------------------- |
| Alert  | `--alert-interval`, `--alert-syslog-ip`, `--alert-syslog-port` |
| Case   | `--case-interval`, `--case-syslog-ip`, `--case-syslog-port`    |

* If all options for a stream are omitted, that stream is disabled.
* If configuration for a stream is started but one of its required options is missing, that stream is an error.
* At least one stream must be fully configured.

## What the receiver gets

The relay sends newline-delimited JSON (NDJSON) over TCP:

```text theme={null}
{one JSON object}\n
{next JSON object}\n
...
```

Each JSON object occupies one line. Alert and case records can be distinguished using fields in the emitted JSON.

<CardGroup cols={2}>
  <Card title="Configuration reference" icon="gear" href="/configuration">
    Review the available stream and case options.
  </Card>

  <Card title="Run continuously" icon="server" href="/operations">
    Install the relay as a systemd service.
  </Card>
</CardGroup>
