DEV Community

Sohbet
Sohbet

Posted on

Show & Tell: My Hybrid Architecture for a Real-Time WebRTC, IRC & Radio Platform (Firebase + Render + Oracle Free Tier) 🚀

Hi everyone! 👋

I wanted to share the architecture of my project: chattv.com.tr. It’s a modern real-time platform that bridges the gap between classic IRC networks, live audio streaming, and modern web interfaces (WebRTC).

To achieve maximum performance with low latency while keeping infrastructure costs minimal, I deployed a multi-cloud hybrid architecture split across Firebase, Render, and Oracle Cloud Free Tier.

Here is how the infrastructure is mapped out:

  1. Frontend & Interfaces (Firebase) Hosting: The user interfaces, themes, and static web branding assets are hosted on Firebase Hosting for global, blazing-fast edge delivery.

Real-time Configs: Utilizing Firebase RTDB for quick client-side sync and real-time state management.

  1. Core IRC & Streaming Backend (Oracle Cloud Free Tier) The entire traditional IRC network backbone and heavy daemons run on an Ampere ARM instance on Oracle Free Tier:

IRC Daemon: Powered by UnrealIRCd handling the core network layout.

Services & Bots: Running IRCservices (or Anope) along with Eggdrop bots and TheLogin services for advanced user management/auth.

Live Radio: The radio broadcasting server is also self-hosted here, taking advantage of Oracle’s generous outbound bandwidth.

  1. Web Gateway, WebRTC & CI/CD (Render + GitLab) Application Server: Running a customized server.js node app deployed on Render acting as the gateway (https://irc.chattv.com.tr).

WebRTC Gateway: Handles the web-to-irc socket bridges, daemon routing, and WebRTC signaling for audio/video features.

Local Storage: Using SQLite3 on the backend for lightweight, structured local data management.

CI/CD Pipeline: The entire code for the Render backend is managed via GitLab and automatically deployed to Render on every push.

I’m currently fine-tuning the socket bridges between Render (server.js) and the UnrealIRCd network on Oracle Cloud to ensure zero-dropped packets during high concurrent chat sessions.

I’d love to know if anyone else is combining old-school IRC structures (UnrealIRCd/Eggdrop) with modern stack elements like WebRTC and Firebase? Let’s talk architecture! 💬✨

Top comments (0)