DockerChat

DockerChat

Docker-based real-time chat application with multi-layer protection, real-time monitoring, and encrypted communication.

⚠️ Security Notice: This is a development/educational project. Use responsibly and only on networks you own or have permission to analyze. Misuse of this tool may violate laws or terms of service.

Quick Start

Prerequisites

Setup and Deployment

# Clone the repository
git clone https://github.com/Nick-Maro/docker-mini-network
cd docker-mini-network

# Build and start all containers
docker compose up --build -d

# Verify all containers are running
docker compose ps

Host Configuration

Before starting the project, configure your system's hosts file:

Windows: Edit C:\Windows\System32\drivers\etc\hosts Linux/macOS: Edit /etc/hosts

127.0.0.1 client.localhost
127.0.0.1 dashboard.localhost
127.0.0.1 api.localhost

Architecture Overview

System Components

ServiceDescriptionURLPurpose
reverse-proxyNGINX reverse proxy with subdomain routing-Routes traffic to internal services
serverBun + TypeScript backend (scalable)api.localhostPrimary application server
firewallGo-based programmable traffic filter-Advanced DDoS protection and rule-based filtering
clientWeb client (Preact + TypeScript)client.localhostMain user interface
dashboardFlask-based monitoring interfacedashboard.localhostSystem monitoring, Redis management, and firewall control
redisIn-memory key-value database-Caching and data storage

Network Architecture

The system implements a multi-layered security architecture:

  • Load Balancing: NGINX reverse proxy distributes requests across backend instances
  • Encryption: RSA + ECDH cryptographic authentication
  • Session Management: Secure WebSocket sessions with nonce-based replay protection
  • Data Persistence: Redis for distributed storage with local fallback
  • Real-time Communication: WebSocket-based messaging with pub/sub patterns

Network Graph

Documentation Structure

  • Backend Server - Core application server architecture
  • Dashboard - Web-based monitoring and management interface
  • Firewall - Programmable traffic filtering and DDoS protection
  • Security - Cryptographic authentication and session management
  • API Reference - Complete WebSocket protocol documentation
  • Deployment - Production deployment and scaling guide
  • Troubleshooting - Common issues and debugging guide

License

This project is licensed under the MIT License. See the LICENSE file for details.


Last updated: August 31, 2025