diff --git a/.env b/.env index 9344583d..7ab4755d 100755 --- a/.env +++ b/.env @@ -6,7 +6,6 @@ LOGS_LOCATION=/path/to/docker_logs #ENVIRONMENT VARIABLES -TZ=Europe/Paris PORT=20211 #DEVELOPMENT VARIABLES diff --git a/front/llms.txt b/front/llms.txt new file mode 100644 index 00000000..d7cfd670 --- /dev/null +++ b/front/llms.txt @@ -0,0 +1,48 @@ +# For Humans +To set up MCP access for your AI Agent: + +1. Tell it to "Please go here and set up MCP using HOST:BACKEND_PORT " +-or- +2. Copy and paste the contents of this page and let it know your HOST and API token. + + + +--- + +# For AI Agents: NetAlertX MCP Setup + +NetAlertX is a network monitoring system. Connect to its **MCP (Model Context Protocol) server** for live access to devices, scans, and events. + +## 1. Gather Connection Details +Ask the user for the following if not provided: +1. **API Token:** Found in **`/settings.php`** under **System / API**. If you were directed to this server, try to browse to /settings.php on your own. +2. **MCP URL:** Typically `http://:20212/mcp/sse`. (The UI is usually on port `20211`, and the MCP/GraphQL backend is on `20212`). + +*Note: Test HTTP connectivity. If port `20212` fails, ask the user if the `GRAPHQL_PORT` was changed in settings or if a reverse proxy is used.* + +## 2. Configure MCP Client +Use the gathered details to configure your MCP connection: + +```json +{ + "mcpServers": { + "netalertx": { + "url": "http://:/mcp/sse", + "headers": { + "Authorization": "Bearer " + } + } + } +} +``` + +## 3. Capabilities +Once connected, you can: +- Query and manage devices (search, filter, MAC details, Wake-on-LAN). +- Trigger network scans (ARP, NMAP, Avahi). +- Manage events, sessions, and notifications. + +## 4. Important Notes +- **UI Refresh:** When you modify data, tell the user to click the in-app refresh button (🔄) to see changes. +- **REST API Fallback:** If MCP is unavailable, retrieve the OpenAPI spec from `http://:/openapi.json` to discover available endpoints, then call those endpoints with `Authorization: Bearer `. This approach is context-heavy and manual, so use it as a last resort. +- **Authentication:** The API token is distinct from the UI login password and must be obtained/changed in the frontend /settings.php diff --git a/front/php/templates/footer.php b/front/php/templates/footer.php index 5b4058e9..02caeaff 100755 --- a/front/php/templates/footer.php +++ b/front/php/templates/footer.php @@ -24,11 +24,10 @@ NetAlertx - -
| + | | | | diff --git a/install/docker/README.md b/install/docker/README.md new file mode 100644 index 00000000..b07768b3 --- /dev/null +++ b/install/docker/README.md @@ -0,0 +1,8 @@ +# 🐳 Docker Compose Installation + +For complete and up-to-date instructions on how to install NetAlertX using Docker, including volumes, networking, and environment variables, please refer to the official documentation: + +👉 **[NetAlertX Docker Installation Guide](https://docs.netalertx.com/DOCKER_INSTALLATION/)** + +--- +[⬅️ Back to Main Repo](../../README.md) diff --git a/install/docker/docker-compose.dev.yml b/install/docker/docker-compose.dev.yml new file mode 100644 index 00000000..6854934b --- /dev/null +++ b/install/docker/docker-compose.dev.yml @@ -0,0 +1,44 @@ +services: + netalertx: + network_mode: host # Use host networking for ARP scanning and other services + image: ghcr.io/netalertx/netalertx-dev:latest + container_name: netalertx + read_only: true + cap_drop: + - ALL + cap_add: + - NET_ADMIN + - NET_RAW + - NET_BIND_SERVICE + - CHOWN + - SETUID + - SETGID + volumes: + - type: volume + source: netalertx_data + target: /data + read_only: false + - type: bind + source: /etc/localtime + target: /etc/localtime + read_only: true + tmpfs: + - "/tmp:mode=1777,rw,noexec,nosuid,nodev,async,noatime,nodiratime" + environment: + PUID: ${NETALERTX_UID:-20211} + PGID: ${NETALERTX_GID:-20211} + LISTEN_ADDR: ${LISTEN_ADDR:-0.0.0.0} + PORT: ${PORT:-20211} + GRAPHQL_PORT: ${GRAPHQL_PORT:-20212} + mem_limit: 2048m + mem_reservation: 1024m + cpu_shares: 512 + pids_limit: 512 + logging: + options: + max-size: "10m" + max-file: "3" + restart: unless-stopped + +volumes: + netalertx_data: diff --git a/install/docker/docker-compose.yml b/install/docker/docker-compose.yml new file mode 100644 index 00000000..3f842a62 --- /dev/null +++ b/install/docker/docker-compose.yml @@ -0,0 +1,44 @@ +services: + netalertx: + network_mode: host # Use host networking for ARP scanning and other services + image: ghcr.io/netalertx/netalertx:latest + container_name: netalertx + read_only: true + cap_drop: + - ALL + cap_add: + - NET_ADMIN + - NET_RAW + - NET_BIND_SERVICE + - CHOWN + - SETUID + - SETGID + volumes: + - type: volume + source: netalertx_data + target: /data + read_only: false + - type: bind + source: /etc/localtime + target: /etc/localtime + read_only: true + tmpfs: + - "/tmp:mode=1777,rw,noexec,nosuid,nodev,async,noatime,nodiratime" + environment: + PUID: ${NETALERTX_UID:-20211} + PGID: ${NETALERTX_GID:-20211} + LISTEN_ADDR: ${LISTEN_ADDR:-0.0.0.0} + PORT: ${PORT:-20211} + GRAPHQL_PORT: ${GRAPHQL_PORT:-20212} + mem_limit: 2048m + mem_reservation: 1024m + cpu_shares: 512 + pids_limit: 512 + logging: + options: + max-size: "10m" + max-file: "3" + restart: unless-stopped + +volumes: + netalertx_data: