Self-hosted, Always Connect IRC client on Synology

I use IRC. Yes, a lot of the communities that I follow are still on IRC. I like them more than Slack. Mainly because it's an open protocol and the channels are also open. One big problem is that the communities that I follow are primarily async, are in different timezones, And if you are not online, you will miss the chats. So to solve your desktop machine needs to be online all the time to capture those messages and save them for you. Or you need to use a hosted chat client service that is always connected. So you can log in back and check the messages on hosted services.

There are some excellent providers like IRCCloud. They are always connected to IRC channels and save the messages for you. You can log in to their service to check when you get time.

Self-hosted, Always Connect IRC client on Synology

I use a service called The Lounge. It's a web application that you install on any server (usually a cloud server). It does the same thing, but it is under your control. It's FOSS software.

In my case, I have installed it on my local NAS - Synology. Since my Synology is always on and doesn't do much, I thought it would be great to bring it to LAN. The only shortcoming is, currently, my LAN is not exposed to the external world. So I can access these chat logs only when I am at home. But I will have some remote VPN kind of access in the future, so I think it shouldn't be a problem.

The Lounge installs very easily on Synology using their docker app. Make sure you choose a good port and volume on the Synology that it saves all the data on Synology. But Synology has a problem. Once it installs, it has no way to create an account using the web UI. You will have to run the docker command line to add the user.

One could SSH into Synology and run the docker command. But its painful. So I knew Synology stores the account details on the disk as JSON files. So All I need to do was edit and add those details. So inside Lounge's /var/opt/thelounge folder, it will be mapped to your host machines some folder, you will find users folder. Inside that, every user will have a JSON file with his username. Say for example, if username is thejeshgn, then the file is thejeshgn.json. It has a key value of password and hashed password. So in theory, you can create this and place it in the correct path. Then, you should be able to log in and use it.

But for me creating this file seemed painful. So I ran docker on a local machine. I created the user. Copied this username.json and uploaded it to the correct path on Synology NAS docker volume. Restarted the docker on the Synology. And I was able to log in and use it.

I hope in the future hope Lounge will have a way to create an account in the WebUI. Until then, this should work.