DEV Community

Cover image for How to Build a Portable Offline Chat Server with a Raspberry Pi
Benjamin Demetz
Benjamin Demetz

Posted on

How to Build a Portable Offline Chat Server with a Raspberry Pi

Looking for a fun way to create a local chat network that works without internet, without installing any apps, and without any complex setup?

This guide will show you how to turn a Raspberry Pi into a portable IRC chat server. It hosts its own WiFi network, shows a captive portal, and lets users chat — all offline. No custom software involved — just a combination of existing tools configured to work together.


What This Is (and Isn’t)

This isn’t a new app or a programming project — it's a collection of freely available software and tutorials that, when set up properly, gives you:

  • A private WiFi access point
  • A captive portal (like those you see in cafés or airports)
  • An IRC server for chatting
  • An IRC client, accessible via browser or app
  • All hosted entirely on a Raspberry Pi — no downloads or internet needed

What You’ll Need

Hardware

  • Raspberry Pi 3B+ (or similar)
  • MicroSD card (16GB+ recommended)
  • Power supply
  • Ethernet cable (for setup phase)

Software Tools


Setup Guide

1. Set a Static IP on the Raspberry Pi

This is important for routing and for consistent access to your chat server (we’ll use 10.3.141.1 as an example).

Static IP Tutorial


2. Turn the Pi Into a Wireless Access Point

Using RaspAP, you can easily broadcast your own WiFi network from the Pi.

Wireless AP Guide


3. Connect Internet for Setup

You can connect your Pi to your PC via Ethernet and share internet access temporarily. This helps when downloading packages.


4. Install and Configure Nodogsplash

Nodogsplash is used to serve the captive portal page — the one users see when they connect to your network. It explains how to connect to the chat.

Follow the specific RaspAP integration guide:

Nodogsplash with RaspAP

You can use this custom HTML page for your captive portal:
Captive Portal Template (GitHub Gist)


5. Install and Configure the IRC Server

Install Hybrid IRC on the Pi and make sure it's listening on the correct interface (e.g., 10.3.141.1).

IRC Server Setup Tutorial →

You can test your server locally using an IRC client on your computer, like AdiIRC.


6. Install a Web IRC Client (Optional)

You can also install The Lounge on the Pi. It allows users to chat directly in the browser instead of using a separate IRC app.


7. Unplug the Ethernet Cable and Go Offline

Once everything is configured, you can unplug the Pi and use it as a completely offline system. Users connect via WiFi, see the captive portal, and are guided into the chat system.


DNSMasq Offline Mode (If Needed)

If you're running into issues with DNS resolution offline, try adding this line to your dnsmasq.conf:

# /etc/dnsmasq.conf or /etc/dnsmasq.d/custom.conf
address=/#/10.3.141.1
Enter fullscreen mode Exit fullscreen mode

Create the file if it doesn't exist.


Captive Portal Instructions (What Users See)

When users connect to the WiFi network, they’ll be redirected to a captive portal that explains how to join the local chat. Here's an example of the message you can include:

Welcome to the Local Chat Server

You’re connected to a local IRC chat network hosted entirely on a Raspberry Pi.

No downloads needed. Just follow the steps below:

  1. Click the button below to proceed. It may open an admin page — just close it if it appears.
  2. You’ll be redirected to a browser-based IRC client where you can start chatting instantly.
  3. To join a chat room, type: /join #general
  4. You’re now chatting with others on the same WiFi!

Advanced Option:
If you prefer to use a dedicated IRC client (on your phone or computer), you can manually connect using:

  • Server Address: 10.3.141.1
  • Port: 6667
  • Password: Not required

Recommended clients:

  • Windows: AdiIRC
  • Android: CoreIRCLite

Final Thoughts

This setup is a fun way to explore:

  • Raspberry Pi networking
  • Offline-first apps
  • IRC
  • Captive portals
  • WiFi provisioning

All without needing to write any code or install anything on user devices.

Whether you're using this for LAN parties, workshops, classrooms, or just experimenting — it’s a great DIY project that repurposes old tools in a useful way.

Credits

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.