{"id":31250639,"url":"https://github.com/nick-maro/dockerchat","last_synced_at":"2025-10-25T19:47:26.672Z","repository":{"id":309429318,"uuid":"1034989984","full_name":"Nick-Maro/DockerChat","owner":"Nick-Maro","description":"Docker-based end-to-end encrypted chat application simulating a secure network environment.","archived":false,"fork":false,"pushed_at":"2025-09-19T22:29:17.000Z","size":5078,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-20T00:50:19.419Z","etag":null,"topics":["bun","chat-application","cryptography","docker","encryption","end-to-end-encryption","firewalls","golang","network","network-security","preact"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nick-Maro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-09T12:22:08.000Z","updated_at":"2025-09-19T22:29:20.000Z","dependencies_parsed_at":"2025-08-29T02:22:03.420Z","dependency_job_id":"c80bdc71-086c-40f6-912f-da7cd1f4b9e6","html_url":"https://github.com/Nick-Maro/DockerChat","commit_stats":null,"previous_names":["nick-maro/docker-mini-network","nick-maro/dockerchat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nick-Maro/DockerChat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nick-Maro%2FDockerChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nick-Maro%2FDockerChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nick-Maro%2FDockerChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nick-Maro%2FDockerChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nick-Maro","download_url":"https://codeload.github.com/Nick-Maro/DockerChat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nick-Maro%2FDockerChat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276519691,"owners_count":25656666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","chat-application","cryptography","docker","encryption","end-to-end-encryption","firewalls","golang","network","network-security","preact"],"created_at":"2025-09-23T05:38:11.792Z","updated_at":"2025-09-23T05:38:13.542Z","avatar_url":"https://github.com/Nick-Maro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Network Security Infrastructure Project\nA comprehensive Docker-based network security infrastructure implementing multiple security layers and monitoring capabilities.\n\n\u003e [!WARNING]  \n\u003e Use responsibly and only on networks you own or have permission to analyze. Misuse of this tool may violate laws or terms of service.\n\n## System Requirements\n- **RAM**: 2GB recommended (minimum requirements may work with 1GB but not tested)\n- **CPU**: 1 vCPU is sufficient\n- **Docker**: \u003e= 20.x\n- **Docker Compose**: \u003e= 1.29.x\n\n## Quick Start\n### 1. Clone and Setup\n```bash\ngit clone https://github.com/Nick-Maro/docker-mini-network\ncd docker-mini-network\n\n# Rename the environment template file\ncp .env.template .env\n```\n\n### 2. Build and Deploy\n```bash\n# Build and start all containers in background\ndocker compose up --build -d\n\n# Verify all containers are running\ndocker compose ps\n```\n\n## Configurations\n### Host File Setup\n**Important**: Before starting the project, you must configure your system's hosts file to enable subdomain routing.\n\nAdd the following entries to your hosts file:\n\n**Windows**: Edit `C:\\Windows\\System32\\drivers\\etc\\hosts`\n\n**Linux/macOS**: Edit `/etc/hosts`\n\n```plaintext\n127.0.0.1 client.localhost\n127.0.0.1 dashboard.localhost\n127.0.0.1 api.localhost\n```\n\n### Environment Setup\nMake sure to rename `.env.template` to `.env` before starting the containers. This file contains necessary environment variables for the application to function properly.\n\n### Useful Docker Commands\n```bash\ndocker compose up                       # Start services (foreground)\ndocker compose up -d                    # Start services (background)\ndocker compose build --no-cache         # Rebuild containers\ndocker compose down                     # Stop and remove containers\ndocker compose down -v                  # Remove containers and volumes\ndocker compose ps                       # View container status\ndocker compose up -d --scale server1=2  # Scale backend servers\n```\n\n## Architecture Overview\nThis project implements a complete network security infrastructure with the following components:\n- **NGINX Reverse Proxy**: Load balances requests between two backend servers\n- **Backend Server**: Two TypeScript Bun servers handling requests\n- **Programmable Firewall**: Custom rule-based traffic filtering\n- **Dashboard**: Real-time network monitoring interface\n- **Web-client**: Web client for sending files and messages (in development)\n\nThe system supports HTTP communication for text messages and uses Docker Compose for container orchestration with bridge networking.\n\n![Network Graph](graph.jpg)\n\n## Container Architecture\n| Service         | Description                             | URL                   | Purpose                                                |\n| --------------- | --------------------------------------- | --------------------- | ------------------------------------------------------ |\n| `reverse-proxy` | NGINX reverse proxy (subdomain routing) | -                     | Routes traffic to internal services based on subdomain |\n| `server`        | Bun + TS backend                        | `api.localhost`       | Primary application server                             |\n| `firewall`      | Custom traffic filter                   | -                     | Rule-based traffic filtering                           |\n| `client`        | Web client (Preact + TS)                | `client.localhost`    | Main user interface                                    |\n| `dashboard`     | Monitoring web interface                | `dashboard.localhost` | System monitoring and management                       |\n| `redis`         | In-memory key-value database            | -                     | Internal data storage / caching                        |\n\n## Acknowledgements\n\nI would like to thank all our contributors, who helped make this project possible. Your feedback and collaboration have been invaluable.\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca href=\"https://github.com/Nick-Maro/DockerChat/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Nick-Maro/DockerChat\" /\u003e\n\u003c/a\u003e\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n**⚠️ Security Notice**: This is a development/educational project. For production use, ensure proper security hardening, regular updates, and professional security review.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnick-maro%2Fdockerchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnick-maro%2Fdockerchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnick-maro%2Fdockerchat/lists"}