{"id":19167646,"url":"https://github.com/stefapi/docker-dashy-helper","last_synced_at":"2026-06-24T09:34:11.025Z","repository":{"id":144131897,"uuid":"446828728","full_name":"stefapi/docker-dashy-helper","owner":"stefapi","description":"An Helper module to create a Dashy portal from a docker system","archived":false,"fork":false,"pushed_at":"2022-03-30T22:02:27.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T23:27:29.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["hardillb"]}},"created_at":"2022-01-11T13:19:09.000Z","updated_at":"2023-03-28T20:40:33.000Z","dependencies_parsed_at":"2023-08-09T17:01:53.365Z","dependency_job_id":null,"html_url":"https://github.com/stefapi/docker-dashy-helper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stefapi/docker-dashy-helper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefapi%2Fdocker-dashy-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefapi%2Fdocker-dashy-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefapi%2Fdocker-dashy-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefapi%2Fdocker-dashy-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefapi","download_url":"https://codeload.github.com/stefapi/docker-dashy-helper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefapi%2Fdocker-dashy-helper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34724746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T09:38:46.038Z","updated_at":"2026-06-24T09:34:11.017Z","avatar_url":"https://github.com/stefapi.png","language":"Python","funding_links":["https://github.com/sponsors/hardillb"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🐳 Docker-Dashy-Helper\n\n**Automatically generate Dashy dashboards from Docker container labels**\n\n[![Docker Hub](https://img.shields.io/docker/pulls/stefapi/docker-dashy-helper?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/stefapi/docker-dashy-helper)\n[![GitHub Stars](https://img.shields.io/github/stars/stefapi/docker-dashy-helper?style=flat-square\u0026logo=github)](https://github.com/stefapi/docker-dashy-helper/stargazers)\n[![License](https://img.shields.io/github/license/stefapi/docker-dashy-helper?style=flat-square)](LICENSE)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/stefapi/docker-dashy-helper/image.yml?style=flat-square\u0026logo=github)](https://github.com/stefapi/docker-dashy-helper/actions)\n\n*A smart helper container that automatically exposes all your Docker containers as beautiful [Dashy](https://github.com/Lissy93/dashy) dashboard elements*\n\n[Features](#-features) • [Quick Start](#-quick-start) • [Configuration](#-configuration) • [Examples](#-examples) • [Contributing](#-contributing)\n\n\u003c/div\u003e\n\n---\n\n## 📋 Table of Contents\n\n- [✨ Features](#-features)\n- [🚀 Quick Start](#-quick-start)\n- [📦 Installation](#-installation)\n- [🔧 Configuration](#-configuration)\n  - [Site Definition](#site-definition)\n  - [Container Definition](#container-definition)\n  - [Groups Definition](#groups-definition)\n- [💻 Command Line Arguments](#-command-line-arguments)\n- [📚 Examples](#-examples)\n- [🏗️ Building](#️-building)\n- [🔍 Troubleshooting](#-troubleshooting)\n- [🤝 Contributing](#-contributing)\n- [📄 License](#-license)\n\n## ✨ Features\n\n- 🔄 **Automatic Discovery**: Automatically detects and configures Docker containers\n- 🏷️ **Label-Based Configuration**: Uses Docker labels for easy setup (similar to Traefik)\n- 🌐 **Traefik Integration**: Seamlessly works with Traefik reverse proxy\n- 🎨 **Customizable Themes**: Support for multiple Dashy themes and icon sizes\n- 🌍 **Multi-Language**: Configurable language support\n- 📊 **Status Monitoring**: Built-in health checks and status indicators\n- 🔗 **Smart URL Detection**: Automatic URL generation from container configuration\n- 📱 **Responsive Design**: Works perfectly with Dashy's responsive interface\n- 🔧 **Real-Time Updates**: Dynamic configuration updates when containers change\n\n## 🚀 Quick Start\n\nGet up and running in under 2 minutes:\n\n```bash\n# 1. Create an empty configuration file\ntouch /opt/conf.yml\n\n# 2. Start Docker-Dashy-Helper\ndocker run -d \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  -v /opt/conf.yml:/app/conf.yml \\\n  stefapi/docker-dashy-helper /app/conf.yml\n\n# 3. Launch Dashy dashboard\ndocker run -d \\\n  -l 'docker-dashy.dashy' \\\n  -p 80:80 \\\n  -v /opt/conf.yml:/app/public/conf.yml \\\n  lissy93/dashy:latest\n```\n\n🎉 **That's it!** Your dashboard is now available at http://localhost\n\n## 📦 Installation\n\n### Using Docker Hub (Recommended)\n\n```bash\ndocker pull stefapi/docker-dashy-helper\n```\n\n### Using Docker Compose\n\nSee our [examples directory](examples/) for complete Docker Compose configurations.\n\n### Building from Source\n\n```bash\ngit clone https://github.com/stefapi/docker-dashy-helper\ncd docker-dashy-helper\ndocker build -t docker-dashy-helper .\n```\n\n## 🔧 Configuration\n\nAll configuration is read from container labels (similar to Traefik) and the Dashy configuration file is only written when labels change.\n\n### Site Definition\n\nThese labels are used on the **Dashy container** to configure the overall dashboard:\n\n| Label | Description | Example |\n|-------|-------------|---------|\n| `docker-dashy.site` | Site name | `docker-dashy.site=My Dashboard` |\n| `docker-dashy.comment` | Site description | `docker-dashy.comment=My awesome dashboard` |\n| `docker-dashy.footer` | Footer text | `docker-dashy.footer=Powered by Dashy` |\n| `docker-dashy.options` | App configuration options | `docker-dashy.options=statusCheck=true,layout=horizontal` |\n| `docker-dashy.dashy` | Mark as Dashy container for restart | `docker-dashy.dashy=true` |\n\n#### Options Syntax\n```bash\ndocker-dashy.options=statusCheck=`true`,faviconApi=`local`,layout=`horizontal`\n```\n\n### Container Definition\n\nThese labels are used on **service containers** that you want to display on the Dashy dashboard:\n\n#### Navigation Links\n\nAdd navigation links using: `docker-dashy.navlink.[item].link`\n\n```bash\n# Syntax: Url(`[display_text]`, `[url]`)\ndocker-dashy.navlink.admin.link=Url(`Admin Panel`, `https://admin.example.com`)\n```\n\n#### Service Items\n\n| Label | Description | Example |\n|-------|-------------|---------|\n| `docker-dashy.enable` | Enable/disable container in dashboard | `docker-dashy.enable=true` |\n| `docker-dashy.label` | Custom display name | `docker-dashy.label=My Service` |\n| `docker-dashy.url` | Custom URL override | `docker-dashy.url=https://service.local:8080` |\n| `docker-dashy.comment` | Service description | `docker-dashy.comment=My awesome service` |\n| `docker-dashy.icon` | Icon specification | `docker-dashy.icon=si-docker` |\n| `docker-dashy.color` | Text color | `docker-dashy.color=#ffffff` |\n| `docker-dashy.bgcolor` | Background color | `docker-dashy.bgcolor=#333333` |\n| `docker-dashy.status` | Status check configuration | `docker-dashy.status=true` |\n| `docker-dashy.group` | Group assignment | `docker-dashy.group=Web Services` |\n\n#### URL Detection Priority\n\n1. **Custom URL**: `docker-dashy.url=https://myservice.example.com:8080/path`\n2. **Traefik Labels**: Automatically reads Traefik router configurations\n   ```bash\n   traefik.http.routers.myservice.rule=Host(`myservice.example.com`)\n   ```\n3. **Auto-detection**: Inspects container ports and builds URL using hostname\n\n#### Status Checks\n\n- **Basic**: `docker-dashy.status=true` (uses service URL)\n- **Custom URL**: `docker-dashy.status=https://health.example.com/check`\n- **Internal**: `docker-dashy.status=internal` (uses container internal IP)\n\n\u003e ⚠️ **Note**: When using `internal` status checks, ensure the Dashy container can access the target container's internal IP address.\n\n### Groups Definition\n\nOrganize your services into logical groups for better dashboard organization.\n\n#### Group Labels\n\n| Label | Description | Example |\n|-------|-------------|---------|\n| `docker-dashy.group` | Group name | `docker-dashy.group=Web Services` |\n| `docker-dashy.grp-icon` | Group icon | `docker-dashy.grp-icon=fas fa-globe` |\n| `docker-dashy.grp-prop` | Group properties | `docker-dashy.grp-prop=collapsed=false,sortBy=alphabetical` |\n\n#### Group Properties Syntax\n\n```bash\ndocker-dashy.grp-prop=color=`#808080`,collapsed=`true`,sortBy=`most-used`\n```\n\nAvailable properties follow Dashy's `displayData` specification. See the [Dashy documentation](https://github.com/Lissy93/dashy/blob/master/docs/configuring.md#sectiondisplaydata-optional) for all options.\n\n#### Example Group Configuration\n\n```yaml\nservices:\n  nginx:\n    image: nginx\n    labels:\n      - \"docker-dashy.enable=true\"\n      - \"docker-dashy.label=Web Server\"\n      - \"docker-dashy.group=Web Services\"\n      - \"docker-dashy.grp-icon=fas fa-globe\"\n      - \"docker-dashy.grp-prop=collapsed=false,sortBy=alphabetical\"\n```\n\n## 💻 Command Line Arguments\n\nDocker-Dashy-Helper accepts one mandatory parameter (configuration file path) and several optional parameters:\n\n### Required Arguments\n\n| Argument | Description |\n|----------|-------------|\n| `config_file` | Path to the Dashy configuration file |\n\n### Optional Arguments\n\n| Short | Long | Description | Default | Example |\n|-------|------|-------------|---------|---------|\n| `-d` | `--disable` | Disable automatic container addition | `false` | `-d` |\n| `-n` | `--hostname` | Hostname for default URLs | `localhost` | `-n myhost.local` |\n| `-l` | `--lang` | Dashboard language | `en` | `-l fr` |\n| `-s` | `--size` | Icon size | `medium` | `-s large` |\n| `-t` | `--theme` | Dashboard theme | `Default` | `-t material` |\n| `-k` | `--keep` | Keep existing config values | `false` | `-k` |\n| `-r` | `--reset` | Reset config at startup | `false` | `-r` |\n| `-f` | `--force` | Force reset at each loop | `false` | `-f` |\n| `-w` | `--wait` | Scan interval (seconds) | `10` | `-w 30` |\n\n### Usage Examples\n\n```bash\n# Basic usage\ndocker-dashy-helper /app/conf.yml\n\n# With custom settings\ndocker-dashy-helper -n myhost.local -l fr -s large -t material /app/conf.yml\n\n# Disable auto-discovery (manual mode)\ndocker-dashy-helper -d /app/conf.yml\n\n# Development mode with frequent resets\ndocker-dashy-helper -f -w 5 /app/conf.yml\n```\n\n## 📚 Examples\n\n### Complete Docker Compose Setup\n\n```yaml\nversion: \"3.8\"\nservices:\n  # Docker-Dashy-Helper\n  docker-dashy-helper:\n    image: stefapi/docker-dashy-helper:latest\n    command: [\"-n\", \"localhost\", \"-l\", \"en\", \"/app/conf.yml\"]\n    volumes:\n      - ./dashy-conf.yml:/app/conf.yml\n      - /var/run/docker.sock:/var/run/docker.sock\n    restart: unless-stopped\n\n  # Dashy Dashboard\n  dashy:\n    image: lissy93/dashy:latest\n    labels:\n      - \"docker-dashy.enable=true\"\n      - \"docker-dashy.site=true\"\n      - \"docker-dashy.comment=My Dashboard\"\n      - \"docker-dashy.dashy=true\"\n    ports:\n      - \"4000:80\"\n    volumes:\n      - ./dashy-conf.yml:/app/public/conf.yml\n    restart: unless-stopped\n\n  # Example Service\n  nginx:\n    image: nginx:alpine\n    labels:\n      - \"docker-dashy.enable=true\"\n      - \"docker-dashy.label=Web Server\"\n      - \"docker-dashy.icon=si-nginx\"\n      - \"docker-dashy.group=Web Services\"\n      - \"docker-dashy.status=true\"\n    ports:\n      - \"8080:80\"\n    restart: unless-stopped\n```\n\n### Manual Docker Commands\n\n```bash\n# 1. Start Docker-Dashy-Helper\ndocker run -d \\\n  --name docker-dashy-helper \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  -v /opt/dashy_conf.yml:/app/conf.yml \\\n  stefapi/docker-dashy-helper -l en -s large /app/conf.yml\n\n# 2. Start Dashy Dashboard\ndocker run -d \\\n  --name dashy \\\n  -l 'docker-dashy.dashy=true' \\\n  -p 5000:80 \\\n  -v /opt/dashy_conf.yml:/app/public/conf.yml \\\n  lissy93/dashy:latest\n\n# 3. Start a service (Portainer example)\ndocker run -d \\\n  --name portainer \\\n  -l 'docker-dashy.enable=true' \\\n  -l 'docker-dashy.label=Portainer' \\\n  -l 'docker-dashy.icon=si-portainer' \\\n  -l 'docker-dashy.group=Management' \\\n  -p 9000:9000 \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  -v portainer_data:/data \\\n  portainer/portainer-ce\n```\n\nFor more examples, see the [examples directory](examples/).\n\n## 🏗️ Building\n\n### Prerequisites\n- Docker\n- Git\n\n### Build Steps\n\n```bash\n# Clone the repository\ngit clone https://github.com/stefapi/docker-dashy-helper\ncd docker-dashy-helper\n\n# Build the Docker image\ndocker build -t docker-dashy-helper .\n\n# Or build for multiple platforms\ndocker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t docker-dashy-helper .\n```\n\n## 🔍 Troubleshooting\n\n### Common Issues\n\n#### AppArmor Compatibility\nIf you're running on a system with AppArmor and encounter D-Bus message errors:\n\n```bash\ndocker run --privileged stefapi/docker-dashy-helper\n```\n\n#### Dashboard Not Updating\n1. Check if Docker-Dashy-Helper is running:\n   ```bash\n   docker logs docker-dashy-helper\n   ```\n\n2. Verify the configuration file is being generated:\n   ```bash\n   cat /path/to/dashy-conf.yml\n   ```\n\n3. Ensure containers have the correct labels:\n   ```bash\n   docker inspect \u003ccontainer_name\u003e | grep -A 10 Labels\n   ```\n\n#### Services Not Appearing\n- Verify `docker-dashy.enable=true` is set on service containers\n- Check that the Docker socket is properly mounted\n- Ensure the helper has access to read container labels\n\n### Getting Help\n\n- 📖 Check the [examples directory](examples/) for working configurations\n- 🐛 Report issues on [GitHub Issues](https://github.com/stefapi/docker-dashy-helper/issues)\n- 💬 Join discussions in [GitHub Discussions](https://github.com/stefapi/docker-dashy-helper/discussions)\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Quick Start for Contributors\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Make your changes\n4. Test your changes\n5. Commit: `git commit -m 'Add amazing feature'`\n6. Push: `git push origin feature/amazing-feature`\n7. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Dashy](https://github.com/Lissy93/dashy) - The amazing dashboard this project enhances\n- [Traefik](https://traefik.io/) - For inspiration on label-based configuration\n- All contributors who help improve this project\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[⬆ Back to Top](#-docker-dashy-helper)**\n\nMade with ❤️ by [stefapi](https://github.com/stefapi)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefapi%2Fdocker-dashy-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefapi%2Fdocker-dashy-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefapi%2Fdocker-dashy-helper/lists"}