A simple Flask-based dashboard that reads from your Nginx Proxy Manager (NPM) SQLite database and shows active proxy domains in a web UI.
- 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
- Nginx Proxy Manager
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.
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 }
]
docker compose up -d --build
Then visit:
http://your-server-ip:6565
- The app listens on port
5555inside the container, mapped to6565outside. - Flask binds to
0.0.0.0so it’s reachable on your LAN. - Don’t hit it with https:// unless you're proxying through Nginx Proxy Manager with SSL.
- Filter by label/tag
- Search field
- Pagination
- Built-in theme or Tailwind CSS support
- "Active" Configuration (Renaming and Hiding entries in production)