IRC is an old school messaging system from the early days of the internet. While it can seem clunky and strange to those who have never used it before (My first time using it I felt like a caveman thunking a large stick against the computer screen.
A lot of people are still using this messaging system to communicate and organize, so it seemed like I should try to host it on the server so users would talk in real time and have threads of discussion outside the local mail system available.
I initially tried to install an irc server called [charybdis] (https://charybdis-ircd.github.io/) but the documentation I found left me scratching my head in regards to where this lived on my server, how or if it was inside my webserver configuration (nginx). I decided after a little while that perhaps I was pushing my luck with this chat integration and that I could circle back to it when I better understood it, or when a user/friend helped get it running.
Today I decided to read a little more about what an 'ircdaemon' was in hopes that I'd understand better. I am glad I did too because I had two realizations that I needed to change my perspective.
I should consult Landchad.net since the documentation there is thorough AND helped me immensely in understanding self hosting to begin with.
An IRC server can run side by side with my WebServer(Nginx) and Gemini server(eventually).
The second was the big one. I have had a mental model of the current VPS that is running in the cloud as my only server. That is to say, when I installed NGINX on it, I thought of the whole thing as ONLY being a webserver. This led me to viewing everything through the lens of "How do i set this up inside Nginx?". This turned out to be a faulty paradigm and it was eyeopening to realize how wrong that thinking was.
Landchad.net has been a light in the darkness for me on this journey of DIY self-hosting. It didn't dissapoint here either. The instructions were clear and concise which walked me through installing Ergo. I was able to get it running and can connect to it with minimal frustration. All that's left is to make sure others can connect as well!
I did notice one minor discrepancy in the instructions --> The 3rd step in the instructions are:
wget "https://github.com/ergochat/ergo/releases/download/v2.10.0/ergo-2.10.0-linux-x86_64.tar.gz"
tar -xf ergo-2.10.0-linux-x86_64.tar.gz
mv ergo-2.10.0-linux-x86_64/*
rm -r ergo-2.10.0-linux-x86_64*
To explain the commands one by one
But that 3rd command was a problem! The mv command doesn't include where to move the unzipped content (to our new server directory!). It should look like this:
wget "https://github.com/ergochat/ergo/releases/download/v2.10.0/ergo-2.10.0-linux-x86_64.tar.gz"
tar -xf ergo-2.10.0-linux-x86_64.tar.gz
mv ergo-2.10.0-linux-x86_64/* /server
rm -r ergo-2.10.0-linux-x86_64*
If you want to have a go of it here's the link to the instructions I followed!
That's all for now. Happy hacking!
-pinecone
RESIST.IN.PEACE.