Dashly is a lightweight, real-time dashboard for users of Nginx Proxy Manager. It simplifies how you monitor and organize your services by automatically syncing with your NPM database. This means you never have to manually edit dashboard configuration files like YAML—it dynamically tracks and displays all your services based on their domain configurations in NPM.
- Dynamic Updates:
- Dashly reads from the Nginx Proxy Manager database, automatically updating your dashboard whenever you add, remove, or modify domains.
- Interactive UI:
- Organize services with drag-and-drop groups.
- Toggle between grid and list views.
- Search and filter services for quick access.
- Customizable Appearance:
- Multiple themes, including a light and dark mode.
- Visibility toggles for inactive services.
- Group Management:
- Categorize services into customizable groups.
- Rename and sort groups for easier navigation.
If you use Nginx Proxy Manager, you likely already have domain names set up for your services. Dashly takes that data and creates a clean, automatically updating dashboard. It eliminates the repetitive task of manually maintaining dashboard YAML files for tools like Dashy or Homepage. Dashly is tailored for NPM users who value automation and simplicity.
- Backend: Python, Flask
- Frontend: HTML, CSS, JavaScript
- Web Server: Waitress
- Database: SQLite (via Nginx Proxy Manager)
- Deployment: Docker, Docker Compose
- Version Control: Git, GitHub
- Allowing multiple nginx databases.
- Add a "Favorites" group for quick access to preferred services.
- Enable hiding groups or individual services.
- Support for custom app icons and renaming services.
- Enhance drag-and-drop functionality for smoother interaction.
- Introduce collapsible groups for better organization.
- Toggle displayed information for a cleaner look.
- Docker
- Docker Compose
- Access to your Nginx Proxy Manager database.
-
Create a new directory for Dashly and navigate into it:
mkdir dashly cd dashly
-
Create the
.env
file with the required variables:echo "NGINX_DB_PATH=/path/to/your/nginx/database.sqlite" >> .env echo "USER_SETTINGS=/data/" >> .env # OPTIONAL echo "PORT=8080" >> .env # OPTIONAL
-
Download the
docker-compose.yml
file:wget https://raw.githubusercontent.com/lklynet/dashly/refs/heads/main/docker-compose.yml
-
Start the application using Docker Compose:
docker compose up -d
Alternatively, if you are using an older version of Docker Compose:
docker-compose up -d
-
Access the dashboard at http://localhost:8080.
If the app isn't running, has database errors, or doesn't show any services:
-
Double-Check:
.env
variables are correct and point to your Nginx Proxy Managerdatabase.sqlite
.- User permissions are correct to read the database.
- The directory is bind-mounted to the Docker host.
-
Install Dependencies:
apt update && apt upgrade -y apt install python3 sqlite3 pip3 install flask waitress
Then rebuild or update the container, and it should start right up.
Dashly is an open-source project, and contributions are welcome! If you're interested in collaborating, here are some ways you can help:
- Submit pull requests to add features or fix bugs.
- Message on X (Twitter) at @lklynet.
- Email at [email protected].
- Donate: Buy me a coffee! ☕.
Try Dashly at demo.dashly.lkly.net
For feedback, questions, or collaboration opportunities:
-
X (Twitter): @lklynet
-
Email: [email protected]
Thank you for checking out Dashly! Let's make it the best it can be together.