A simple, self-hosted portal for keeping an eye on your Windows and Linux (Debian / Ubuntu) computers: free disk space, pending updates, services, Docker containers, disk health and more. A lightweight PowerShell agent on each device reports to the portal and takes commands from it.

# docker-compose.yml
services:
mdm:
image: ghcr.io/panoptipulse/laravel-mdm-server:latest
container_name: mdm
ports:
- "8000:8000"
volumes:
- storage:/var/www/storage
restart: unless-stopped
volumes:
storage:
docker compose up -d
Open http://<server>:8000, create the first account (it becomes the system admin) and click
Add device. No .env and no database server are needed: SQLite, keys and logs live in the
storage volume. For access from outside your network, put it behind a TLS proxy
(see Server).
Add device in the portal shows a ready-made command for Windows PowerShell and for PowerShell 7 (Windows, Debian / Ubuntu). Run it as Administrator / root and the device appears in the portal. Details: Installing the agent.
| Topic | |
|---|---|
| Server | Setup, Docker, MySQL, real-time WebSocket, PWA |
| Installing the agent | Install, parameters, config.json, checking, uninstalling |
| Agent | How it works, feature matrix, signed communication |
| Alerts and notifications | Smart alerts, agent errors, rules, notification channels |
| Devices | Tags, Wake-on-LAN, ping-only devices |
| Networks | Network map and discovery of unknown devices |
| Remediation scripts | Detection and remediation in PowerShell |
| Security scanner | Inventory, logs, parsers and detection rules |
| Dashboard | Configurable dashboards and widgets |
| Networks | Notifications |
|---|---|
![]() | ![]() |
| Path | Content |
|---|---|
src/laravel | Server application (Laravel) |
src/powershell | Agent (Windows, Debian / Ubuntu) |
src/docker | Container image and its configuration |
docker-compose.yml, docker-compose.mysql.yml | Running the image |
A simple, self-hosted portal for keeping an eye on your Windows and Linux (Debian / Ubuntu) computers: free disk space, pending updates, services, Docker containers, disk health and more. A lightweight PowerShell agent on each device reports to the portal and takes commands from it.

# docker-compose.yml
services:
mdm:
image: ghcr.io/panoptipulse/laravel-mdm-server:latest
container_name: mdm
ports:
- "8000:8000"
volumes:
- storage:/var/www/storage
restart: unless-stopped
volumes:
storage:
docker compose up -d
Open http://<server>:8000, create the first account (it becomes the system admin) and click
Add device. No .env and no database server are needed: SQLite, keys and logs live in the
storage volume. For access from outside your network, put it behind a TLS proxy
(see Server).
Add device in the portal shows a ready-made command for Windows PowerShell and for PowerShell 7 (Windows, Debian / Ubuntu). Run it as Administrator / root and the device appears in the portal. Details: Installing the agent.
| Topic | |
|---|---|
| Server | Setup, Docker, MySQL, real-time WebSocket, PWA |
| Installing the agent | Install, parameters, config.json, checking, uninstalling |
| Agent | How it works, feature matrix, signed communication |
| Alerts and notifications | Smart alerts, agent errors, rules, notification channels |
| Devices | Tags, Wake-on-LAN, ping-only devices |
| Networks | Network map and discovery of unknown devices |
| Remediation scripts | Detection and remediation in PowerShell |
| Security scanner | Inventory, logs, parsers and detection rules |
| Dashboard | Configurable dashboards and widgets |
| Networks | Notifications |
|---|---|
![]() | ![]() |
| Path | Content |
|---|---|
src/laravel | Server application (Laravel) |
src/powershell | Agent (Windows, Debian / Ubuntu) |
src/docker | Container image and its configuration |
docker-compose.yml, docker-compose.mysql.yml | Running the image |