Scanopy
Date: 2026-01-04 Status: DEPRECATED - replaced by Homelable LXC ID: 104 (decommissioned)
Overview¶
Scanopy was a self-hosted network scanner and topology visualizer running on Debian LXC 104. It was used for local LAN discovery and Tailscale network mapping.
Basic Information¶
- Platform: Debian 13 LXC (Unprivileged)
- Installation: Proxmox Community Scripts
- Version: 0.12.9
- Port: 60072
Installation Command¶
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/scanopy.sh)"
LXC Specifications¶
- Container ID: 104
- Hostname: scanopy
- CPU: 2 cores
- RAM: 3GB
- Disk: 6GB
- Network: vmbr0, DHCP (192.168.0.122)
- Features: nesting=1, keyctl=1
Access¶
- Local:
http://192.168.0.122:60072 - Tailscale:
http://YOUR_TAILSCALE_IP:60072
Tailscale Integration¶
The main challenge was making Scanopy visible on both the local network and the Tailscale network simultaneously.
The Routing Problem¶
When Proxmox advertised 192.168.0.0/24 via Tailscale and Scanopy had --accept-routes enabled, the kernel routed local traffic through tailscale0 instead of eth0, causing a loop and timeouts.
Final Solution¶
Proxmox host - disable subnet advertise:
Scanopy LXC - accept routes + allow local network through Tailscale firewall:
Make the iptables rule persistent via systemd override:
[Service]
ExecStartPost=/bin/sh -c 'sleep 5 && /usr/bin/tailscale up --accept-routes && /usr/sbin/iptables -I ts-input 1 -i eth0 -j ACCEPT'
LXC Config (TUN/TAP support)¶
File: /etc/pve/lxc/104.conf
Configured Networks¶
- 192.168.0.0/24 - Local LAN (eth0)
- 100.64.0.0/10 - Tailscale CGNAT range (all peers)
Useful Commands¶
# Service management
systemctl status scanopy-server
systemctl status scanopy-daemon
systemctl restart scanopy-server
systemctl restart scanopy-daemon
# Logs
journalctl -u scanopy-server -f
journalctl -u scanopy-daemon -f
# Config
cat /opt/scanopy/.env
cat /root/.config/daemon/config.json