scanopy-daemon

scanopy-daemon

Official

Docker app from Fallen94's Repository

Overview

Automatically discover and visually document network topology.

Scanopy

Scanopy Logo

Network documentation, without the drawing.

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.

Docker Pulls Github Stars
GitHub release License
Daemon image size Server image size
Daemon Server UI
Discord Translations

💡 Prefer not to self-host? Get a free trial of Scanopy Cloud

L2 view

L2 (Physical)
Every switch, every port, every link.

L3 view

L3 (Logical)
Subnets and how hosts connect across them.

Workloads view

Workloads
Bare metal to hypervisors to containers.

Applications view

Applications
Services and their dependencies, grouped by application.

✨ 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.

📋 Licensing

Self-hosted (AGPL-3.0): Free for all use. Requires source disclosure for network services and copyleft compliance.
Self-hosted (Commercial license): For those who cannot comply with AGPL-3.0 terms. Contact licensing@scanopy.net
Hosted Solution: Scanopy Cloud subscription for zero infrastructure management

🚀 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.

💡 Prefer not to self-host? Get a free trial of Scanopy Cloud


Access the UI at http://<your-server-ip>:60072, create your account, and wait for the first discovery to complete.

For detailed setup options and configuration, see the Installation Guide.

📚 Documentation + API

scanopy.net/docs

🚀 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:

💬 Community & Support


Translations powered by Weblate

Built with ❤️ in NYC

Install scanopy-daemon on Unraid in a few clicks.

Find scanopy-daemon in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for scanopy-daemon Review the template variables and paths Click Install

Related apps

Details

Repository
ghcr.io/scanopy/scanopy/daemon:latest
Last Updated2026-07-17
First Seen2025-12-20

Runtime arguments

Network
host
Privileged
true

Template configuration

ConfigPathrw
Target
/root/.config/daemon
Value
/mnt/user/appdata/scanopy/daemon
Docker accessPathro
Target
/var/run/docker.sock
Value
/var/run/docker.sock
Server URLVariable

Or use a domain name if behind reverse proxy

Target
SCANOPY_SERVER_URL
Value
http://YOUR_SCANOPY_SERVER_IP:60072
ModeVariable

Pull: daemon polls server. Push: server initiates scans (daemon must be reachable)

Target
SCANOPY_MODE
Value
Push
API KeyVariable

Get from scanopy-server > Daemons > Create Daemon > Generate > SCANOPY_DAEMON_API_KEY

Target
SCANOPY_DAEMON_API_KEY
Network IDVariable

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
Daemon URLVariable

Public URL where server can reach daemon (Push mode only)

Target
SCANOPY_DAEMON_URL
Value
http://10.100.20.250:60073
Daemon PortVariable

Port for daemon to listen on

Target
SCANOPY_DAEMON_PORT
Value
60073
Bind AddressVariable
Target
SCANOPY_BIND_ADDRESS
Value
0.0.0.0
Daemon NameVariable

Name displayed under scanopy-server > Daemons

Target
SCANOPY_NAME
Value
UNRAID
Log LevelVariable
Target
SCANOPY_LOG_LEVEL
Value
info
Concurrent ScansVariable

Maximum parallel host scans

Target
SCANOPY_CONCURRENT_SCANS
Value
15
Heartbeat IntervalVariable

Seconds between heartbeats/work requests

Target
SCANOPY_HEARTBEAT_INTERVAL
Value
30