Skip to content

Latest commit

 

History

History
164 lines (110 loc) · 4.72 KB

README.md

File metadata and controls

164 lines (110 loc) · 4.72 KB

Dashly Logo

Dashly

What Dashly Is

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.

2025-01-05


Core Features

  • 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.

Why It's Useful

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.


Screenshots

Dashly Screenshot 1 Dashly Screenshot 2 Dashly Screenshot 3 Dashly Screenshot 4


Tech Stack

  • Backend: Python, Flask
  • Frontend: HTML, CSS, JavaScript
  • Web Server: Waitress
  • Database: SQLite (via Nginx Proxy Manager)
  • Deployment: Docker, Docker Compose
  • Version Control: Git, GitHub

Future Roadmap

  • 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.

Getting Started

Prerequisites

Deployment Steps

  1. Create a new directory for Dashly and navigate into it:

    mkdir dashly
    cd dashly
  2. 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
  3. Download the docker-compose.yml file:

    wget https://raw.githubusercontent.com/lklynet/dashly/refs/heads/main/docker-compose.yml
  4. 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
  5. Access the dashboard at http://localhost:8080.


Troubleshooting

If the app isn't running, has database errors, or doesn't show any services:

  1. Double-Check:

    • .env variables are correct and point to your Nginx Proxy Manager database.sqlite.
    • User permissions are correct to read the database.
    • The directory is bind-mounted to the Docker host.
  2. 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.


Contributing

Dashly is an open-source project, and contributions are welcome! If you're interested in collaborating, here are some ways you can help:


Live Demo

Try Dashly at demo.dashly.lkly.net


Contact

For feedback, questions, or collaboration opportunities: