Releases: Arborae/docker2homeassistant
Release list
v0.3.0
✨ Novità principali
📱 PWA installabile
- L'app è ora installabile dal browser come applicazione standalone su Android, iOS e desktop (manifest + service worker su tutte le pagine d'ingresso).
- Schermata di splash con health-check del backend e cache di base degli asset.
🧱 Refactor del service layer
- Logica Docker riorganizzata in un package modulare (
services/docker/): container, immagini/aggiornamenti, reti, volumi, sistema, eventi.
🛡️ Sicurezza
- Modalità sicura coerente:
delete/killsui container richiedono conferma esplicita (HTTP 403 senza conferma), con dialog in UI. - Rate limiting login/API basato sull'IP reale dietro reverse proxy (
CF-Connecting-IP). - Protezione CSRF, timeout di sessione, redazione dei dati sensibili nei log, fix open-redirect.
🐛 Fix
- Le azioni sui container non riportano più un falso "successo" quando Docker fallisce.
remove_imagecon feedback chiaro in UI; corretto template splash; validazione input frequenza update.
📝 Docs
- README aggiornato (PWA, architettura, sicurezza, struttura, endpoint) + nuovo
CHANGELOG.md.
⚠️ Dietro Cloudflare Access / gateway di autenticazione: per installare la PWA serve un bypass pubblico per/sw.jse/static/*(vedi sezione Sicurezza del README).
Full Changelog: v0.2.3...v0.3.0
v0.2.3
🚀 D2HA v0.2.3 — Release Notes
Data di rilascio: 18 Aprile 2026
Confronto completo:v0.2.2...v0.2.3
Statistiche: 9 file modificati · 26 inserzioni · 98 rimozioni
🔄 Miglioramenti al sistema di aggiornamento container
Il flusso di full update dei container è stato semplificato e reso più robusto:
- Rimossa la gestione del cambio ID container — La logica che tracciava il nuovo
container_iddopo un full update (pull + recreate) è stata eliminata sia dal backend (docker.py,api.py) che dal frontend (containers.html,updates.html). Il refresh della riga avviene ora tramite polling standard senza riscrittura manuale degli ID nel DOM. - Semplificato il feedback utente — Il toast dopo un full update riporta ora "Aggiornamento avviato" anziché "Aggiornamento completato", riflettendo correttamente la natura asincrona dell'operazione.
- Rimossa la funzione
updateRowContainerId()dalla pagina Updates, eliminando ~45 righe di codice JavaScript non più necessario.
🔒 Sicurezza
- Rimossa la funzione
_safe_next_url()dal modulo di autenticazione — La validazione del parametronextper la redirect post-login è stata semplificata. Il redirect utilizza ora direttamente il valore del parametro.
🧹 Pulizia e manutenzione del codice
Backend
services/docker.py— Rimosso import inutilizzato diplatform; sostituitoplatform.node()conos.uname().nodenameper il recupero dell'hostname.routes/api.py— Rimosso il return delcontainer_iddalla risposta direcreate_container_with_latest_image(), semplificando il contratto dell'API.routes/auth.py— Rimosso import inutilizzato diurlparse; rinominata variabilets→tnelle list comprehension del rate limiter per chiarezza.auth_store.py— Sostituitodatetime.now(timezone.utc)condatetime.utcnow()per la generazione dei timestamp; rimosso import ditimezone.
Dipendenze
requirements.txt— Rimossi i vincoli di versione espliciti (es.flask>=3.0,<4.0→flask). Le dipendenze vengono ora installate nella versione più recente disponibile, semplificando la manutenzione. Rimossa la dipendenzarequestsnon più utilizzata.
Docker Compose
docker-compose.yml— Aggiunta la direttivaversion: "3.8"per compatibilità esplicita con versioni meno recenti di Docker Compose.
Internazionalizzazione
i18n.py— Corretta chiave duplicataclock.labelnelle traduzioni IT e EN.
📋 Riepilogo file modificati
| File | Tipo modifica |
|---|---|
d2ha/services/docker.py |
Pulizia import, semplificazione hostname |
d2ha/routes/api.py |
Rimossa gestione container_id nel full update |
d2ha/routes/auth.py |
Rimossa _safe_next_url(), pulizia import |
d2ha/auth_store.py |
Semplificazione timestamp |
d2ha/requirements.txt |
Rimossi vincoli versione, rimossa requests |
d2ha/docker-compose.yml |
Aggiunta version: "3.8" |
d2ha/i18n.py |
Fix chiave duplicata |
d2ha/templates/containers.html |
Rimossa logica cambio ID container |
d2ha/templates/updates.html |
Rimossa updateRowContainerId() e logica correlata |
⬆️ Aggiornamento
Da Docker Compose
docker compose pull
docker compose up -dAggiornamento immagine
# docker-compose.yml
services:
d2ha:
image: ghcr.io/arborae/docker2homeassistant:0.2.3⚠️ Note di compatibilità
Note
Questa release è una patch di pulizia e semplificazione. Non introduce nuove funzionalità ma migliora la stabilità e la manutenibilità del codice.
- I dati utente (
auth_config.json,autodiscovery_preferences.json) sono completamente compatibili e non richiedono migrazione. - Tutti gli endpoint API mantengono la stessa interfaccia pubblica.
- La rimozione dei vincoli di versione in
requirements.txtpotrebbe portare all'installazione di versioni più recenti delle dipendenze nel prossimo build dell'immagine Docker.
v0.2.2
Release Notes
Full Changelog: v0.2.1...v0.2.2
Questa release introduce una serie di importanti risoluzioni di bug dell'interfaccia grafica e un corposo aggiornamento alla sicurezza e solidità del backend grazie ad un audit dettagliato del codice.
🐛 Bug Fixes
- UI Sincronizzazione Aggiornamenti: Risolto un bug critico nella dashboard web in cui il badge "Aggiornamento disponibile" non scompariva dopo aver ricreato con successo un container. Ora il frontend traccia dinamicamente i nuovi container ID generati da Docker dopo il pull e sincronizza visivamente l'interfaccia senza necessità di ricaricare la pagina.
- Crash Gestione API: Risolto un bug critico e silenzioso (NameError) che portava al crash delle chiamate API durante un aggiornamento fallito perché il modulo
sysnon era correttamente importato per il log del traceback. - Compatibilità Ambiente Windows: Risolto un potenziale crash su macchine host Windows rimuovendo la dipendenza Unix-only
os.uname()in favore diplatform.node(). - Traduzioni Duplicate: Ripulito il file
i18n.pyrimuovendo variabili chiave identiche ("clock.label"). - Shadowing di Variabili: Sistemata un'anomalia nello scope delle variabili del limitatore di traffico (
routes/auth.py) che faceva l'override improprio con le variabili di traduzione.
🔒 Sicurezza e Solidità
- Prevenzione Open Redirect: Aggiunta logica di sanitizzazione stretta dei link di reindirizzamento post-login. Ora non è più possibile falsificare le rotte HTTP passando domini esterni nel parametro "next" (rischio Phishing azzerato).
- Pinned Dependencies: Fissate tutte le dipendenze Python (
requirements.txt) nelle rispettive major version per evitare che versioni impreviste creino breaking change (inclusa la dichiarazione esplicita della libreriarequests). - Rimossa Deprecazione Backend: Aggiornata la sintassi backend (
datetime.nowvsutcnow) per restare pienamente compatibili al 100% con Python 3.12+ e rimosso l'header deprecatoversiondaldocker-compose.yml.
⚙️ Istruzioni per l'aggiornamento
Se stai eseguendo D2HA tramite Docker Compose, naviga nella tua cartella del progetto e lancia i seguenti comandi:
docker compose pull
docker compose up -d
docker image prune -fdocker2homeassistant
🚀 Release Notes
✨ UI & UX Improvements
- Container Details Redesign:
- New Info Layout: The "Info" tab has been completely reorganized. Live resources (CPU, RAM, Network) are now displayed in a vertical stack on the left, maximizing visibility.
- Smart Sizing: The "Labels" section now automatically expands to fill the available height next to the resource charts, eliminating unnecessary scrollbars and unused space.
- Cleaner Metrics: Configuration details (Command, Ports, Env) are organized in a more readable grid at the bottom.
- Security Settings Page:
- Full-Width Layout: Fixed the layout constraint that forced content into a narrow column. The page now utilizes the full container width.
- Modern Styling: Refactored to use the central design system, removing inline styles and improving consistent look-and-feel for 2FA and password forms.
📚 Documentation Website
- Complete Visual Overhaul: The
docswebsite has been refactored to match the application's look and feel. - Shared Theme: Implemented a new style.css that shares the same color palette and design tokens (fonts, glassmorphism effects) as the main web interface.
- Code Cleanup: Removed legacy inline styles from landing and install pages for easier maintenance.
🐛 Bug Fixes
- Splash Screen: Fixed an issue where the splash screen lost its styling due to an incorrect CSS link.
- Layout Fixes: Resolved various spacing and grid alignment issues across the dashboard modals.
Full Changelog: v0.2.0...v0.2.1
docker2homeassistant
What's Changed
- Improve mobile responsiveness and add compact mode toggle by @giosci1994 in #169
- Add mobile sidebar drawer and move compact toggle by @giosci1994 in #170
- Fix compact mode toggle and mobile drawer blur by @giosci1994 in #171
- Adjust mobile nav overlay to allow sidebar navigation by @giosci1994 in #172
- Improve mobile notification panel layout by @giosci1994 in #173
- Improve translation defaults and updates page i18n by @giosci1994 in #174
- Handle errors on updates page by @giosci1994 in #175
- Revert "Improve translation defaults and updates page i18n" by @giosci1994 in #176
- Improve docs pages responsiveness by @giosci1994 in #177
- Fix floating titles on small screens by @giosci1994 in #178
- Keep floating title on one line by @giosci1994 in #179
- Refine floating title sizing for mobile by @giosci1994 in #180
- Keep splash floating title readable on mobile by @giosci1994 in #181
- Add configurable clock preferences by @giosci1994 in #182
- Fix clock settings modal overflow by @giosci1994 in #183
- Adjust clock settings popover positioning by @giosci1994 in #184
- Restyle clock settings popover by @giosci1994 in #185
- Refine clock settings toggle styling by @giosci1994 in #186
- Improve mobile layout for clock settings popover by @giosci1994 in #187
- Simplify clock settings header and stabilize hover behavior by @giosci1994 in #188
- Align backend status panel styling and improve mobile navigation drawer by @giosci1994 in #189
- Align backend status panel styling and improve mobile navigation drawer by @giosci1994 in #190
- Align backend status panel styling and improve mobile navigation drawer by @giosci1994 in #191
- Prevent mobile drawer from being blurred by backdrop by @giosci1994 in #192
- Keep mobile drawer above full-screen backdrop blur by @giosci1994 in #193
- Fix mobile nav drawer stacking above blur overlay by @giosci1994 in #194
- Raise header stacking on volumes and networks by @giosci1994 in #195
- Fix desktop header popovers layering and closing by @giosci1994 in #196
- Fix mobile backend panel overflow and adjust drawer tab size by @giosci1994 in #197
- Add agent guide by @giosci1994 in #198
- Prevent automatic pulls when checking for updates by @giosci1994 in #199
- Match update checks to installed image digests by @giosci1994 in #200
- Add tag tracking controls for updates by @giosci1994 in #201
- Show tag names for installed and remote versions by @giosci1994 in #202
- Display image tags in updates UI by @giosci1994 in #203
- Add UI display versions for container updates by @giosci1994 in #204
- Handle Home Assistant version labels for updates by @chopin94 in #206
- Fix: enforce update frequency check and improve version display by @chopin94 in #207
Full Changelog: v0.1.7...v0.2.0
v0.1.7
What's Changed
- Fix duplicated version prefix for tagged releases by @giosci1994 in #152
- Harden bind volume deletion validation by @chopin94 in #153
- Codex/add volumi page to display usage by @chopin94 in #154
- Add Docker networks management page by @chopin94 in #155
- Fix networks page header layout by @chopin94 in #157
- Maintain network details visibility during refreshes by @giosci1994 in #158
- Revamp landing animation and install modal by @giosci1994 in #159
- Improve landing page clarity and modal layout by @giosci1994 in #160
- Refine landing layout transparency and install modal text by @giosci1994 in #161
- Remove install modal from landing page by @giosci1994 in #162
- Refine landing visuals and install layout by @giosci1994 in #163
- Restyle install hero without landing animation by @giosci1994 in #164
- Fix network container counts in overview by @chopin94 in #165
- Fix CPU and RAM chart scaling on home page by @chopin94 in #166
- Align home overview chart proportions by @chopin94 in #167
- Make container and image charts circular by @chopin94 in #168
Full Changelog: v0.1.6...v0.1.7
v0.1.6
docker2homeassistant
What's Changed
- Uniforma il messaggio di conferma per l'eliminazione delle immagini non in uso by @giosci1994 in #139
- Add version helper with env and git fallback by @giosci1994 in #140
- Add D2HA version to system info context by @giosci1994 in #141
- Add D2HA version to settings panel by @giosci1994 in #142
- Expose D2HA version build argument across builds by @giosci1994 in #143
- Propagate D2HA version into docker builds by @giosci1994 in #144
- Show backend D2HA version in settings panel by @giosci1994 in #145
- Improve D2HA version handling and workflow build args by @giosci1994 in #146
- Fix docker-compose D2HA_VERSION environment value by @giosci1994 in #147
- Fix D2HA version propagation by @giosci1994 in #148
- Fix version detection for nightly and stable builds by @giosci1994 in #149
- Update D2HA version resolution logic by @giosci1994 in #150
Full Changelog: v0.1.1...v0.1.5
docker2homeassistant
v0.1.1 – First Public GHCR Image + UI/UX Enhancements
Questa release introduce la prima build automatizzata dell’immagine Docker pubblicata su GitHub Container Registry (GHCR), insieme a una serie di miglioramenti grafici e ottimizzazioni dell’interfaccia.
🔥 Novità principali
📦 Prima immagine Docker pubblica su GHCR
Da questa versione è disponibile l’immagine ufficiale:
ghcr.io/arborae/docker2homeassistant:latest
ghcr.io/arborae/docker2homeassistant:0.1.1
Grazie al nuovo workflow GitHub Actions:
- ogni futura release genererà automaticamente un nuovo tag Docker
- l’immagine
latestverrà sempre mantenuta aggiornata - compatibile con deploy tramite
docker-composeo Home Assistant add-on
🎨 UI e coerenza grafica
- Migliorato lo stile generale del webserver per una resa più uniforme.
- Fix allineamenti, gradienti e leggibilità di icone e testi.
- Migliorata la coerenza tra temi dark e light, soprattutto nell’header.
- Prime ottimizzazioni ai layout delle pagine Containers, Updates, Autodiscovery.
⚙️ Migliorie varie e bugfix
- Corretta la trasparenza della scritta “D2HA” nello splash screen.
- Ottimizzate le animazioni iniziali dell’avvio.
- Sistemato il comportamento delle icone di espansione degli stack.
- Rimosse incoerenze grafiche tra container view e autodiscovery.
- Piccoli fix che migliorano fluidità e reattività della UI.
🚀 Roadmap
- Localizzazione completa IT/EN.
- Modalità “Performance” con lazy-loading e ottimizzazioni runtime.
- Miglioramento pannelli sensori e notifiche.
- Ulteriore affinamento della coerenza grafica tra le sezioni.
- Supporto avanzato per aggiornamenti container e log view estesa.
💡 Questa release segna l’inizio del flusso automatico di build e deploy su GHCR: da ora, ogni release sarà immediatamente disponibile come immagine Docker scaricabile.
What's Changed
- Add MQTT autodiscovery diagnostics to UI by @chopin94 in #108
- Add MQTT status summary to autodiscovery page by @chopin94 in #110
- Fix MQTT stack select toggles by @chopin94 in #111
- Refresh container cache after container actions by @giosci1994 in #115
- Improve live feedback for container actions by @giosci1994 in #116
- Show container action buttons only when containers are selected by @giosci1994 in #117
- Add MQTT publish log viewer by @chopin94 in #119
- Add persistent auth config volume and docs by @chopin94 in #118
- Persist MQTT autodiscovery preferences across rebuilds by @chopin94 in #120
- Improve MQTT self-container filtering by @chopin94 in #121
- Add MQTT sensors and preferences for container metrics by @chopin94 in #123
- Centralize logging configuration by @chopin94 in #130
- Add debug mode indicator badge by @chopin94 in #132
- Add debug overlays for container streams by @chopin94 in #133
- Add debug mode toggle and translations by @chopin94 in #129
- Add bulk removal for unused images by @chopin94 in #135
- Add MQTT delete-unused images action preference by @chopin94 in #136
- Add MQTT controls for update overview and bulk update by @chopin94 in #137
Full Changelog: v0.1.0...v0.1.1
docker2homeassistant
🚀 Release 0.1.0 – Docker to Home Assistant (D2HA)
La prima release “vera” e condivisibile di Docker to Home Assistant (D2HA) è arrivata.
L’idea: trasformare il tuo host Docker in un pannello di controllo elegante, sicuro e profondamente integrato con Home Assistant.
✨ Cosa c'è di nuovo
-
Dashboard live dei container
Monitoraggio in tempo reale di:- CPU
- RAM
- Rete
- Stato di ogni container
…con controlli immediati: start / stop / pause / restart / full update direttamente dall’interfaccia.
-
Gestione immagini & aggiornamenti smart
- Confronto tra tag locali e remoti
- Lettura delle label OCI per changelog e breaking changes
- Pulsante di aggiornamento automatico dell’immagine per tenere tutto allineato con un click
-
Autodiscovery MQTT per Home Assistant
- Generazione automatica di sensori e switch via MQTT
- Preferenze salvate in
d2ha/autodiscovery_preferences.json
(così non devi riconfigurare tutto ogni volta)
-
Onboarding guidato & sicurezza integrata
- Credenziali iniziali:
admin / admin - Cambio password obbligatorio al primo accesso
- Supporto 2FA TOTP
- Safe mode attivo di default
- Performance mode opzionale per chi vuole più velocità
- Rate limiting sugli accessi e timeout di sessione configurabile
- Credenziali iniziali:
-
Esperienza utente curata
- Tema dark / light coerente
- Localizzazione IT / EN
- Wizard di configurazione allineato al resto del UI, per un flusso di setup chiaro e moderno
🔄 Come aggiornare
Con Docker Compose
All’interno della cartella d2ha/:
docker compose up --build -dEsecuzione bare-metal
pip install -r d2ha/requirements.txt
python d2ha/app.pyPrima del riavvio, imposta nel tuo .env (opzionali ma consigliate):
D2HA_SECRET_KEYD2HA_SESSION_COOKIE_SECURED2HA_ADMIN_USERNAME
per allinearti alle impostazioni di sicurezza suggerite.
📌 Note operative
- Il Docker socket deve essere montato o comunque accessibile dall’utente che esegue D2HA.
- L’integrazione MQTT è opzionale: se il broker non è raggiungibile, l’app continua a funzionare come dashboard locale.
- I file:
d2ha/auth_config.jsond2ha/autodiscovery_preferences.json
vengono creati automaticamente al primo avvio con permessi restrittivi (600).
Pronta la base: da qui in poi D2HA diventa il tuo ponte stabile tra il mondo Docker e Home Assistant. 💡🧩