Unveiling the World of Internet Relay Chat (IRC): A Journey into Real-Time Online Conversations: IRC server with Docker
In the dynamic landscape of online communication, where instant messaging apps and social media platforms dominate, there exists a digital realm that predates many of them — the Internet Relay Chat, commonly known as IRC. Imagine stepping into a virtual space reminiscent of a bustling town square, where individuals gather to engage in real-time conversations, share thoughts, and connect over shared interests. In this blog post, we’ll embark on a journey to unravel the fascinating world of IRC, exploring its origins, key features, and the unique charm that continues to captivate a dedicated community of users. Join us as we delve into the roots of this timeless platform and discover why IRC remains a resilient and cherished medium for online discourse.
- Set up Docker’s Apt repository
Update our list of packages and install few prerequisite
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
the sudo apt-get install ca-certificates curl gnupg
command installs essential packages that provide SSL/TLS certificate authorities for secure connections (ca-certificates
)
Curl is a command-line tool and library for transferring data with URLs.
GnuPG (GNU Privacy Guard) is a free and open-source implementation of the OpenPGP (Pretty Good Privacy) standard
sudo install -m 0755 -d /etc/apt/keyrings
the command creates a new directory named “keyrings” in the /etc/apt
directory with read, write, and execute permissions for the owner and read and execute permissions for the group and others.
This directory is commonly used in package management on Debian-based Linux distributions like Ubuntu to store GPG keyrings
Add the GPG key for the official Docker repository to our system
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg - dearmor -o /etc/apt/keyrings/docker.gpg
the command fetches a Docker GPG public key from a URL, converts it into a binary format, and saves it as /etc/apt/keyrings/docker.gpg
. This key can then be used by the APT package manager to verify Docker-related packages during installation or updates.
sudo chmod a+r /etc/apt/keyrings/docker.gpg
changes the permissions of the file /etc/apt/keyrings/docker.gpg
to make it readable by all users on the system.
Add the Docker repository to APT sources
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
this command dynamically generates an APT repository configuration for Docker based on the system’s architecture and Ubuntu release codename. It then writes this configuration to the file /etc/apt/sources.list.d/docker.list
, making Docker packages available for installation and updates through the APT package manager.
Update your existing list of packages again for the new packages to be available
sudo apt-get update
2. Install the Docker packages
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
the command installs Docker-related packages and plugins, allowing you to work with Docker containers and images, build container images, and manage multi-container applications using Docker Compose. Docker is widely used for containerization and simplifies the deployment and management of applications in a containerized environment.
3. Verify that the Docker Engine installation is working fine by running the hello-world image
sudo docker run hello-world
4. Downloading IRC server Image [ Reference: https://hub.docker.com/r/inspircd/inspircd-docker/ ]
wget -qO- https://raw.githubusercontent.com/inspircd/inspircd-docker/master/bootstrap.sh | sh
5. Start an InspIRCd instance
sudo docker run - name ircd -p 6667:6667 inspircd/inspircd-docker
is used to start a Docker container running the InspIRCd IRC (Internet Relay Chat) server using the official “inspircd/inspircd-docker” Docker image. Here’s a breakdown of what this command does:
Password Authentication:
sudo docker run - name inspircd -p 6667:6667 -e "INSP_CONNECT_PASSWORD= s3cret" inspircd/inspircd-docker
Troubleshot:
conflicting packages must be uninstalled.
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done