50 lines
1.2 KiB
Markdown
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
|
|
```
|