{"name":"Atlas: Open-Source Tool for Network Discovery, Visualization, and Monitoring","description":"Atlas is a full-stack, containerized solution designed to scan, analyze, and visualize network infrastructure dynamically. Built with Go, FastAPI, and React, it offers automated scanning, persistent data storage, and rich interactive dashboards, providing comprehensive insights into your network environment. It supports Docker host scanning and local/neighboring host discovery.","github":"https://github.com/karam-ajaj/atlas","url":"https://osrepos.com/repo/karam-ajaj-atlas","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/karam-ajaj-atlas","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/karam-ajaj-atlas.md","json":"https://osrepos.com/repo/karam-ajaj-atlas.json","topics":["network-discovery","network-monitoring","docker","devops-tools","visualization","golang","react","open-source"],"keywords":["network-discovery","network-monitoring","docker","devops-tools","visualization","golang","react","open-source"],"stars":null,"summary":"Atlas is a full-stack, containerized solution designed to scan, analyze, and visualize network infrastructure dynamically. Built with Go, FastAPI, and React, it offers automated scanning, persistent data storage, and rich interactive dashboards, providing comprehensive insights into your network environment. It supports Docker host scanning and local/neighboring host discovery.","content":"## Introduction\n\nAtlas is an open-source, full-stack containerized tool for dynamic network infrastructure scanning, analysis, and visualization. Leveraging Go for powerful backend scanning, FastAPI for a robust API, and React for an interactive frontend, Atlas provides a comprehensive view of your network. It excels at discovering Docker containers, local, and neighboring hosts, presenting all gathered data through rich, real-time dashboards. A live demo is available at [atlasdemo.vnerd.nl](https://atlasdemo.vnerd.nl/).\n\n## Installation\n\nDeploying Atlas is straightforward using Docker. The following command runs Atlas with essential capabilities and configurable environment variables:\n\nbash\ndocker run -d \\\n  --name atlas \\\n  --network=host \\\n  --cap-add=NET_RAW \\\n  --cap-add=NET_ADMIN \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  -e ATLAS_UI_PORT=8884 \\\n  -e ATLAS_API_PORT=8885 \\\n  -e FASTSCAN_INTERVAL=3600 \\\n  -e DOCKERSCAN_INTERVAL=3600 \\\n  -e DEEPSCAN_INTERVAL=7200 \\\n  -e SCAN_SUBNETS=\"192.168.1.0/24,10.0.0.0/24\" \\\n  keinstien/atlas:latest\n\n\nKey environment variables include `ATLAS_UI_PORT` (default 8888) for the UI, `ATLAS_API_PORT` (default 8889) for the API, and `FASTSCAN_INTERVAL`, `DOCKERSCAN_INTERVAL`, `DEEPSCAN_INTERVAL` for scan scheduling. `SCAN_SUBNETS` allows specifying multiple subnets for scanning.\n\n## Examples\n\nAtlas performs three core functions:\n\n*   **Scans Docker Containers:** It inspects running Docker containers to extract IP addresses, MAC addresses, open ports, network names, and OS types, tracking each network interface separately.\n*   **Scans Local & Neighboring Hosts:** It detects reachable devices on the subnet, retrieving OS fingerprints, MACs, and open ports to build a complete infrastructure map.\n*   **Visualizes Data in Real-Time:** An interactive React-based HTML dashboard, served via Nginx, renders dynamic network graphs and tables, providing immediate insights.\n\nYou can also manage scan schedules dynamically through dedicated API endpoints:\n\n*   `GET /api/scheduler/intervals` - Get current scan intervals for all scan types.\n*   `PUT /api/scheduler/intervals/{scan_type}` - Update interval for a specific scan type (fastscan, dockerscan, or deepscan).\n*   `GET /api/scheduler/status` - Get scheduler status and current intervals.\n\nFor visual examples, the project's GitHub repository includes various screenshots showcasing desktop and mobile views of the dashboard, host tables, and log panels.\n\n## Why Use Atlas?\n\nAtlas stands out as a powerful tool for several reasons:\n\n*   **Comprehensive Scanning:** It offers multi-interface and multi-subnet scanning, detecting both Docker containers and physical hosts with detailed information like multiple IPs/MACs per container and OS fingerprints.\n*   **Real-time Visualization:** Its dynamic React frontend provides interactive network graphs and tables, making complex network structures easy to understand at a glance.\n*   **Flexible Deployment & Configuration:** Easily deployable via Docker, Atlas allows for persistent data storage with SQLite and dynamic adjustment of scan intervals without container restarts.\n*   **Automation:** With scheduled auto-scans and a robust backend built in Go, Atlas automates the discovery and monitoring process, reducing manual effort.\n*   **Open Source:** Being open source, it benefits from community contributions and transparency, making it a reliable choice for infrastructure management.\n\n## Links\n\n*   **GitHub Repository:** [https://github.com/karam-ajaj/atlas](https://github.com/karam-ajaj/atlas)\n*   **Live Demo:** [https://atlasdemo.vnerd.nl/](https://atlasdemo.vnerd.nl/)\n*   **Swagger API Docs:** [http://localhost:8888/api/docs](http://localhost:8888/api/docs) (default local endpoint)\n*   **Frontend UI:** [http://localhost:8888/](http://localhost:8888/) (default local endpoint)\n*   **Author's GitHub:** [https://github.com/karam-ajaj](https://github.com/karam-ajaj)\n*   **License:** MIT License","metrics":{"detailViews":7,"githubClicks":7},"dates":{"published":null,"modified":"2025-11-25T20:01:37.000Z"}}