Configuration Overview
ElixIRCd is configured via a single Elixir file: elixircd.exs. This file uses Elixir’s Config module syntax.
File Location
Section titled “File Location”| Environment | Path |
|---|---|
| Source / dev | config/elixircd.exs |
| Production release | <release>/config/elixircd.exs |
| Docker | /app/config/elixircd.exs |
Configuration Sections
Section titled “Configuration Sections”The configuration file has the following top-level sections:
| Section | Purpose |
|---|---|
server | Server name, hostname, password, MOTD |
rate_limiter | Connection and message rate limiting |
settings | Case mapping, UTF-8 enforcement |
cloaking | Hostname cloaking settings |
capabilities | Enable/disable IRCv3 capabilities |
monitor | MONITOR command settings |
sts | Strict Transport Security |
sasl | SASL authentication settings |
listeners | Network ports and transports |
user | User-related limits |
channel | Channel-related limits |
services | NickServ and ChanServ settings |
ident_service | RFC 1413 ident lookup |
webirc | WebIRC gateway settings |
admin_info | Server admin contact info |
operators | IRC operator credentials |
Additionally, there is a separate mailer configuration:
ElixIRCd.Utils.Mailer— email delivery settings
Template
Section titled “Template”The full default configuration file is the best reference. You can find it at:
Applying Changes
Section titled “Applying Changes”During development:
Restart the application: iex -S mix
On a running Docker container:
If you changed elixircd.exs, use REHASH from IRC (as an operator):
/rehashOr restart the container. Note: REHASH reloads configuration but active connections retain their state. Some config changes (like listener ports) may require a full restart.