Potracker is a open-source Auto-discovering Services
Table of Content
Potracker is a free and open-source app that enables you to monitor ports in real-time. It helps eliminate manual tracking in spreadsheets and prevents deployment failures caused by port conflicts.
It is written using Node.js, Express, WebSocket and uses SQLite. It uses React for the frontend.
The app is written by Mostafa Wahied, a software engineer at Linkedin.
Features
- Automatic Port Discovery: Scans the host system to find and display running services and their ports automatically. No manual data entry is needed.
- Platform-Specific Collectors: Includes specialized collectors for Docker and TrueNAS to gather rich, contextual information from the host.
- Lightweight & Self-Contained: Runs as a single process with an embedded SQLite database. No external database dependencies like PostgreSQL or Redis are required.
- Peer-to-Peer Monitoring: Add other
portracker
instances as peers to view all your servers, containers, and VMs from a single dashboard. - Hierarchical Grouping: Organize servers in a parent-child structure, perfect for nesting servers, e.g. a VM's
portracker
instance under its physical host. - Enhanced TrueNAS Discovery: Providing an optional TrueNAS API key allows
portracker
to discover running VMs* and gather enhanced system information like the OS version and uptime. - Modern & Responsive UI: A clean dashboard with light/dark modes, live filtering, and multiple data layout views (list, grid, table).

Setup
You can easily run it using Docker and/ or Docker Compose:
Run using Docker:
docker run -d \
--name portracker \
--restart unless-stopped \
--network host \
-v ./portracker-data:/data \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e DATABASE_PATH=/data/portracker.db \
-e PORT=4999 \
mostafawahied/portracker:latest
Docker-Compose.yml
version: "3.8"
services:
portracker:
image: mostafawahied/portracker:latest
container_name: portracker
restart: unless-stopped
network_mode: "host"
volumes:
# Required for data persistence
- ./portracker-data:/data
# Required for discovering services running in Docker
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- DATABASE_PATH=/data/portracker.db
- PORT=4999
# Optional: For enhanced TrueNAS features
# - TRUENAS_API_KEY=your-api-key-here
License
This project is licensed under the MIT License