All apps · 0 apps
scanopy-daemon
OfficialDocker app from Fallen94's Repository
Overview
Readme
View on GitHubScanopy
Never maintain another network diagram. Scanopy scans your network on a schedule and draws it as four views: L2, L3, workloads and applications.

curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.yml
docker compose up -d
Open http://<your-server-ip>:60072 and create your account. The first discovery starts on its own.
Prefer a hosted version? Try Scanopy Cloud. Full setup options are in the docs.
Scanopy replaces manual network diagrams with a continuously maintained model of what's actually running. A single daemon scans on a schedule and produces four views from each scan: L2 (physical), L3 (logical), workloads, and applications. Unlike diagrams drawn in draw.io that go stale the week they're saved, or IaC state that misses drift and resources provisioned outside the pipeline, Scanopy reflects the current state of your infrastructure. Export as SVG, Mermaid, or Confluence; embed live maps; or feed the model into your existing source of truth.
🏢 Running Scanopy for your business? The Commercial Edition adds a commercial license, more networks and seats, Confluence export, and support, all on your own infrastructure.
L2 (Physical) |
L3 (Logical) |
Workloads |
Applications |
✨ Features
- Automatic discovery: Maps hosts and services by scanning the network. One scanner, no per-device agents.
- 230+ service definitions: Auto-detects databases, web servers, containers, network infrastructure, and enterprise applications.
- Four views from one scan: L2 (physical), L3 (logical), workloads, and application dependencies.
- Distributed scanning: Deploy daemons across segments to map multi-site and multi-VLAN topologies.
- Docker & SNMP integration: Native discovery for containerized services and network hardware.
- Scheduled rescans: Documentation stays current as infrastructure changes.
- Multi-user + RBAC: Organization management, role-based access, and shareable live views for teammates or external stakeholders.
🎯 Perfect For
- Platform & DevOps teams: Trace service dependencies without APM. Map containers, VMs, and hardware in one model.
- Network engineers: Multi-VLAN, multi-site topology diagrams derived from SNMP, LLDP, and ARP. No manual drawing.
- IT operations: Keep inventory, topology, and dependencies current across teams and sites.
- MSPs: Per-client documentation with shareable live views.
- Home labs: Document your infrastructure without opening draw.io.
📋 Editions and Licensing
Every edition runs on your own infrastructure, so discovery data, topology and credentials stay inside your network.
- Community Edition (AGPL-3.0): free and open source. AGPL-3.0 requires source disclosure for network services and copyleft compliance.
- Commercial Edition (Self-Hosted Standard, Self-Hosted Plus, Enterprise): a commercial license for organizations that can't meet AGPL-3.0's terms or need more networks and seats. Adds Confluence export, invoice billing, procurement documents and support. Self-Hosted Plus adds multiple organizations, and Plus and Enterprise add offline license keys for air-gapped networks.
Compare editions and get a commercial license, or email licensing@scanopy.net.
Prefer not to run it yourself? Scanopy Cloud runs the same engine as a hosted service.
🚀 Quick Start for Self Hosting
Docker Compose
curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.yml
docker compose up -d
Proxmox
Use this helper script to create a Scanopy LXC.
Unraid
Available as an Unraid community app.
Access the UI at http://<your-server-ip>:60072, create your account, and wait for the first discovery to complete.
Have a commercial license? See Deploying the Commercial Edition.
For detailed setup options and configuration, see the Installation Guide.
📚 Documentation + API
🚀 Demo
demo.scanopy.net. Hosted demo app with a sample dataset. Try the full UI without installing anything.
🤝 Contributing
We welcome contributions! See our contributing guide for details.
Great first contributions:
- Adding service definitions
- Translating Scanopy into your language
💬 Community & Support
- Discord: Join our Discord for help and discussions
- Issues: Report bugs or request features
- Discussions: GitHub Discussions
Translations powered by Weblate
Built with ❤️ in NYC
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/scanopy/scanopy/daemon:latestRuntime arguments
- Network
host- Privileged
- true
Template configuration
- Target
- /root/.config/daemon
- Value
- /mnt/user/appdata/scanopy/daemon
- Target
- /var/run/docker.sock
- Value
- /var/run/docker.sock
Or use a domain name if behind reverse proxy
- Target
- SCANOPY_SERVER_URL
- Value
- http://YOUR_SCANOPY_SERVER_IP:60072
Pull: daemon polls server. Push: server initiates scans (daemon must be reachable)
- Target
- SCANOPY_MODE
- Value
- Push
Get from scanopy-server > Daemons > Create Daemon > Generate > SCANOPY_DAEMON_API_KEY
- Target
- SCANOPY_DAEMON_API_KEY
UUID of the network to scan. Get from scanopy-server > Daemons > Create Daemon > Generate > SCANOPY_NETWORK_ID
- Target
- SCANOPY_NETWORK_ID
- Value
- 1881e7fa-b4b4-4227-be49-265c98f87b88
Public URL where server can reach daemon (Push mode only)
- Target
- SCANOPY_DAEMON_URL
- Value
- http://10.100.20.250:60073
Port for daemon to listen on
- Target
- SCANOPY_DAEMON_PORT
- Value
- 60073
- Target
- SCANOPY_BIND_ADDRESS
- Value
- 0.0.0.0
Name displayed under scanopy-server > Daemons
- Target
- SCANOPY_NAME
- Value
- UNRAID
- Target
- SCANOPY_LOG_LEVEL
- Value
- info
Maximum parallel host scans
- Target
- SCANOPY_CONCURRENT_SCANS
- Value
- 15
Seconds between heartbeats/work requests
- Target
- SCANOPY_HEARTBEAT_INTERVAL
- Value
- 30