Skip to content

camcleod99/npm_dash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM Dashboard

A simple Flask-based dashboard that reads from your Nginx Proxy Manager (NPM) SQLite database and shows active proxy domains in a web UI.

🚀 Features

  • Reads NPM’s live database (read-only) — no export/import required
  • Supports optional JSON config to label or hide entries
  • Runs inside Docker with minimal setup

❗️ Dependencies

  • Nginx Proxy Manager

⚙️ Setup

Make sure your Nginx Proxy Manager data is accessible to the container.

By default, this setup expects:

  • NPM data at /DATA/AppData/nginxproxymanager/data/ (this is a read-only mount)
  • Config (e.g., sites.json) at /DATA/AppData/npm_dash/ or wherever you keep your AppData

Make sure those paths exist and contain the expected files before launching the container.

Example Config (sites.json)

Note; please delete the comment lines as json does not support comments

[ 
  # Will change the text of the link to the label
  { "url": "internal.example.com", "label": "Internal Site", "hide": false },
  # Will Hide the link completely
  { "url": "test.example.com", "hide": true }
]

🐳 Running the App

docker compose up -d --build

Then visit:

http://your-server-ip:6565

⚠️ Use http:// — not https:// — unless you’ve added a reverse proxy with a SSL Setup.

🛠️ Notes

  • The app listens on port 5555 inside the container, mapped to 6565 outside.
  • Flask binds to 0.0.0.0 so it’s reachable on your LAN.
  • Don’t hit it with https:// unless you're proxying through Nginx Proxy Manager with SSL.

📬 Future Ideas (PRs welcome)

  • Filter by label/tag
  • Search field
  • Pagination
  • Built-in theme or Tailwind CSS support
  • "Active" Configuration (Renaming and Hiding entries in production)

About

Simple Dashboard that collects all proxies from Ngnix Proxy Manager

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors