website/content/docs/installation.md

50 lines
1.2 KiB
Markdown

# Installation
echoIRCd builds with a recent stable Rust toolchain and has no C dependencies of its own beyond an
SSL library when using the OpenSSL TLS backend.
## Requirements
- Rust **1.85** or newer (`rustup` recommended).
- For the OpenSSL backend: `libssl-dev` / `openssl` and `pkg-config`. The `rustls` backend needs
neither.
## Build from source
```sh
git clone https://git.devtronic.pro/echo/echoIRCd
cd echoIRCd
cargo build --release
```
The server binary is written to `target/release/echoircd`.
## Configure and run
Copy the shipped example configuration, edit it, and start the server:
```sh
cp echoircd.conf.example echoircd.conf
$EDITOR echoircd.conf
./target/release/echoircd echoircd.conf
```
Validate a configuration without starting the server:
```sh
./target/release/echoircd checkconfig echoircd.conf
```
## TLS certificates
Point the `tls` block at a certificate and key (for example, from Let's Encrypt). See
[Configuration](/docs/configuration#tls) for the details.
## Running as a service
Run `echoircd` under your init system of choice. A `SIGHUP` triggers a live configuration
rehash — including a certificate reload — with no restart and no disconnects:
```sh
./target/release/echoircd rehash echoircd.conf
```