DockFlare v1.6 - UI Power-Up & Styling Overhaul! 🎉
This release marks a significant step forward for DockFlare, introducing highly-requested UI-driven management for Cloudflare Access Policies and a major visual refresh with DaisyUI for a more modern and consistent user experience!
Managing access to your services is now more flexible than ever. While Docker labels remain perfect for defining the initial state of your services and their Access Policies, you can now dynamically adjust these policies directly from the DockFlare Web UI. These UI changes are persistent, overriding container labels and surviving restarts of both DockFlare and your application containers. Worried about losing your label-defined setup? A new "Revert to Labels" option ensures you can always go back to your declarative configuration.
✨ Highlights
- 🚀 UI-Driven Access Policy Management:
- Override Labels: Directly edit Access Policies (None, Bypass, Authenticate by Email, Default TLD) for any managed service via the new "Manage Policy" dropdown in the Web UI.
- Persistent Changes: UI-set Access Policies are saved in
state.json
and take precedence over container labels, even after restarts. - "Revert to Labels" Button: Easily switch a service's Access Policy back to be controlled by its Docker labels.
- "UI Override" Badge: Clearly indicates in the UI when an Access Policy is managed by the UI.
- 💅 Major UI Refresh with DaisyUI:
- The entire Web UI has been restyled using DaisyUI components, providing a cleaner, more modern, and themeable interface.
- Theme Selector: Choose from a wide variety of pre-built DaisyUI themes (light, dark, cupcake, synthwave, and many more!) to personalize your DockFlare dashboard. Your preference is saved locally.
- Improved consistency for buttons, alerts, badges, tables, and forms.
- Enhanced readability and usability across the dashboard.
- Improved Table Layout:
- The "Managed Ingress Rules" table columns have been reordered for better workflow: Status, Hostname, Service Target, Container, Access Policy, Manage Policy, Expires At (UTC), Actions.
- Dropdowns in the table now attempt to position themselves intelligently to avoid being clipped.
- Under-the-Hood Refinements:
- Refactored core logic for handling Access Policies to support the new UI override system.
- Ensured
process_container_start
and the reconciliation loop (_run_reconciliation
) correctly respect theaccess_policy_ui_override
flag.
🔧 Key Changes & Fixes
- Feature: Implemented state persistence for UI-overridden Access Policies (
access_policy_ui_override
flag instate.json
). - Feature: Added new Flask route (
/revert_access_policy_to_labels
) and backend logic for reverting UI policies to label-defined configurations. - UI: Replaced custom policy edit popup with a DaisyUI dropdown component, improving usability and solving previous overflow issues.
- UI: Integrated DaisyUI for most UI elements including cards, buttons, alerts, badges, tables, and form inputs.
- UI: Added a multi-theme selector.
- UI: Reordered columns in the "Managed Ingress Rules" table for better information flow.
- UI: Improved display for "Pending Label Sync" status.
- Build: Migrated to a multi-stage Docker build process to compile Tailwind CSS and DaisyUI styles.
- Fix: Addressed various minor display and styling inconsistencies.
- Docs: README and Wiki updated
⚙️ For Users Updating
- Your existing
state.json
file will be automatically updated to include the newaccess_policy_ui_override
field (defaulting tofalse
for existing rules not yet touched by the new UI). - After updating, if you wish to manage an Access Policy via the UI, simply edit it using the new "Manage Policy" dropdown. This will automatically set the UI override.
🙏 Thanks
Thank you for using DockFlare! I hope these new features improve your experience.
Docker Image: alplat/dockflare:stable
I'm excited for you to try out these new capabilities! As always, please report any issues or provide feedback on GitHub.