ngircd

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 and PGID: 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

Your email address will not be published. Required fields are marked *