ngircd
Welcome back, selfhosters! Today we’re diving into a small but powerful Docker image for building your own IRC server: ngircd.
If you’re nostalgic for classic chat rooms or want to run a private IRC server for your community or team, then LinuxServer.io’s ngircd Docker image is the perfect tool for the job.
What is ngircd?
ngircd
stands for “next generation IRC daemon”. It’s a lightweight, open-source IRC server written from scratch. It’s designed to be straightforward to set up, efficient, and compliant with common IRC protocols. Whether you’re hosting a private developer meetup chat or running an IRC bouncer, ngircd is a rock-solid choice.
Why self-host ngircd?
- Privacy and Control: Host your own IRC server on your terms.
- Low Resource Usage: Tiny footprint, perfect for running on a home server or Raspberry Pi.
- Modern Docker Support: Thanks to LinuxServer.io, deployment is a breeze.
Getting Started with Docker
Let’s walk through the basic setup using Docker Compose. First, create a folder called ngircd
and inside it, create a file named docker-compose.yml
. Here’s a sample configuration provided by LinuxServer.io:
version: "2.1"
services:
ngircd:
image: lscr.io/linuxserver/ngircd:latest
container_name: ngircd
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- ./config:/config
ports:
- 6667:6667
restart: unless-stopped
Make sure to adjust the environment variables:
PUID
andPGID
: These should match your host user and group IDs to make sure file permissions work correctly.TZ
: Set this to your local timezone, e.g.America/New_York
.
Once configured, start it up with:
docker-compose up -d
Configuring ngircd
All the config files are stored in the ./config
folder on your host machine. Once the container starts, it will generate a default configuration file in this directory. You can edit this to set your server’s name, admin contacts, channels, and more.
Here are a few things you may want to customize:
- Server name and description
- Listening ports and limits
- Default channels and access control
After editing the configuration, just restart the container:
docker-compose restart
Using Your IRC Server
With ngircd running, you can connect using any IRC client (like HexChat, irssi, or even web-based interfaces). Point your client to your server’s IP and port 6667 and join the fun!
Final Thoughts
Self-hosting ngircd is a fantastic way to build a lightweight but capable communication system. Whether you’re into retro tech or want a chat solution you own completely, this is a great weekend project.
For more advanced configuration and SSL support, check out the detailed docs at LinuxServer.io/ngircd.
Happy selfhosting, and I will see you in the next post!
Leave a Reply