# Getting Started | EchoHub Documentation

# Getting Started

## Prerequisites

- .NET 10 SDK

Or grab a self-contained binary from Releases -- no runtime needed.

## Run the Server

    dotnet run --project src/EchoHub.Server

On first run, the server automatically:

1. Creates `appsettings.json` from the example config
2. Generates a secure JWT secret
3. Creates the SQLite database with a `#general` channel

## Run the Client

    dotnet run --project src/EchoHub.Client

Connect to a server, register an account, and start chatting.

## Connect via IRC

Enable the IRC gateway in the server's `appsettings.json`:

    {
      "Irc": {
        "Enabled": true,
        "Port": 6667
      }
    }

Then connect with any standard IRC client:

    irssi -c localhost -p 6667 -w <password> -n <username>

IRC users must have an existing EchoHub account. Authentication works via `PASS`/`NICK`/`USER` or SASL PLAIN. Messages flow bidirectionally between IRC and TUI clients.

For TLS, set `TlsEnabled: true`, `TlsPort: 6697`, and provide a PKCS#12 certificate path.

See the Architecture page for details on how the IRC gateway integrates with the chat service.

## Configuration

Server configuration is in `appsettings.json` (auto-generated on first run). See the example config for all available options.

To list your server on the public directory, set `Server:PublicServer` to `true` and `Server:PublicHost` to your server's public address.

## Build from Source

    dotnet build src/EchoHub.slnx