LanGuard-Scanner

LanGuard-Scanner

Docker app from TeeCodeDev's Repository

Overview

LanGuard Scanner (Scheduler) is the network discovery engine for LanGuard. It performs automated Layer 2 ARP sweeps, service scans, port monitoring, Wake-on-LAN actions, and local Docker container inventorying.

NOTE: This is the scanner/scheduler component of the LanGuard stack. It requires host networking and privileged mode to execute raw socket ARP scans. Must share the same [inline]/data[/inline] directory and [inline]SECRET_KEY[/inline] with LanGuard-Backend.

Credits & Support:

LanGuard logo

LanGuard

Self-hosted network visibility for discovering, organizing, and monitoring devices on your LAN.

Latest version Docker pulls Donate through PayPal

Documentation · Installation · Integrations · Troubleshooting · Releases

LanGuard builds a clear inventory of local network devices, tracks availability and network changes, and surfaces equipment that needs attention. It is designed for home and small-business networks and can run continuously as a Docker web application or locally as a native macOS scanner.

Highlights

  • Discover IPv4 devices, names, vendors, MAC addresses, services, and common open ports.
  • Optionally inventory managed switches, access points, printers, interfaces, and LLDP neighbor hints through read-only SNMP v2c.
  • Track online state, scan history, IP changes, availability, and attention findings.
  • Organize regular, visitor, and archived devices by room, role, icon, and notes.
  • Send Discord, Telegram, ntfy, or signed automation webhook notifications.
  • Connect AdGuard Home, Pi-hole, or Technitium DNS Server for DNS context, plus Speedtest Tracker and HomeBox.
  • Run scheduled scans, on-demand detailed port scans, and Wake-on-LAN actions.
  • Install the Docker interface as a web app on supported phones, tablets, and computers.
  • Inventory running containers and published ports from the local Docker engine through the scheduler.

Preview

LanGuard dashboard with fictional device data

Quick Start

The recommended deployment uses Docker Compose or Portainer on a trusted host with direct access to the network being scanned.

git clone https://github.com/hillaliy/LanGuard.git
cd LanGuard

Before deployment, edit docker-compose.yaml:

  1. Replace SECRET_KEY in the backend and scanner with the same long random value.
  2. Add the Docker host IP or hostname to ALLOWED_HOSTS while keeping 127.0.0.1.
  3. Start the stack:
docker compose up -d

Open http://<docker-host-ip>:8080 and create the first account. The first account becomes the administrator; LanGuard has no default password.

LanGuard uses host networking and privileged discovery because ARP scanning requires direct Layer 2 access to the LAN. Review the Compose file before deployment and use a dedicated, trusted host.

For Portainer instructions, custom ports, VLAN requirements, updates, backups, and migration, use the complete installation documentation.

Editions

Edition Best for Guide
Docker web app Continuous scanning, shared access, integrations, and notifications Installation
Native macOS scanner A self-contained inventory and scanner on one Mac macOS Scanner

The editions do not synchronize their inventories.

Documentation

The public documentation is the source of truth for setup and operation:

Update

Update all three Docker services together without removing the database volume:

docker compose pull
docker compose up -d --force-recreate

Review the release notes before updating across multiple versions.

API

Docker installations expose interactive API documentation through the LanGuard server:

  • Swagger: /api/schema/swagger/
  • ReDoc: /api/schema/redoc/
  • OpenAPI schema: /api/schema/

Contributing

Development setup, checks, and release instructions are documented in CONTRIBUTING.md. User-facing behavior should update the public documentation in the same pull request.

License

Copyright © 2026 Yossi Hillali.

LanGuard is licensed under the Apache License 2.0. Third-party components remain subject to their respective licenses.

Requirements

LanGuard-Backend

Related apps

Details

Repository
ghcr.io/hillaliy/languard-scheduler:latest
Last Updated2026-10-23
First Seen2026-10-23

Runtime arguments

Network
host
Shell
sh
Privileged
true

Template configuration

Secret KeyVariable

Shared secret key. Must match the SECRET_KEY configured in LanGuard-Backend.

Target
SECRET_KEY
Allowed HostsVariable

Allowed hosts matching LanGuard-Backend.

Target
ALLOWED_HOSTS
Default
127.0.0.1,[IP],languard.local
AppData DatabasePathrw

Shared database directory with LanGuard-Backend.

Target
/data
Default
/mnt/user/appdata/languard/data
Static FilesPathrw

Shared static assets directory with LanGuard-Backend.

Target
/static
Default
/mnt/user/appdata/languard/static
Docker Socket (Container Inventory)Pathro

Host Docker socket to allow LanGuard to discover running containers and mapped ports.

Target
/var/run/docker.sock
Default
/var/run/docker.sock