Homarr
Homarr is a dashboard whose tiles show live state rather than only links — it talks to the services behind them through their APIs. One container with its own SQLite database.
Last run on a host 8 Nov 2026
Pinned at v2.12.0 (released 6 Nov 2026) · the newest upstream release
In the upstream images: 0 CRITICAL · 2 HIGH with a published fix — per image
To try it: Docker, nothing else. See Try it locally.
To deploy it behind the proxy: Traefik running and a domain.
Try it locally
Section titled “Try it locally”On your own machine, with no proxy, domain or certificate. From apps/homarr/:
cp .env.local.example .env.local
# The secrets ship empty; generate the ones this stack needsecho "HOMARR_SECRET_ENCRYPTION_KEY=$(openssl rand -hex 32)" >> .env.local
docker compose -f docker-compose.local.yml --env-file .env.local up -dThen open http://localhost:7575. Stop it again with the same command and down.
Installation
Section titled “Installation”From apps/homarr/:
-
Copy the environment file and set
APP_TRAEFIK_HOSTandTZ:Terminal window cp .env.example .env -
Generate the encryption key and put it into
.envasHOMARR_SECRET_ENCRYPTION_KEY. It encrypts the API tokens Homarr stores for the services it queries:Terminal window openssl rand -hex 32 -
Create the data directory:
Terminal window mkdir -p volumes/appdata -
Start it:
Terminal window docker compose up -d -
Open
https://<APP_TRAEFIK_HOST>— a setup wizard runs on the first visit.
Verify
Section titled “Verify”docker compose ps # one service, healthycurl -sSI https://<APP_TRAEFIK_HOST>/ # 307 to /init until the setup wizard is done, then 200Then add one integration and confirm its tile shows live data. That is the check that covers the encryption key; a dashboard renders fine without it working.
Going further
Section titled “Going further”Live container status
Section titled “Live container status”Homarr can show container state and offer start and stop buttons, which needs access to the Docker daemon. A direct socket mount gives the container full control of Docker — root on the host in practice.
Route it through a filtering socket proxy instead, exposing only the endpoints it needs. Dockhand shows the same pattern.
Who can reach it
Section titled “Who can reach it”The stack ships access-vpn. A dashboard with working integrations holds API
tokens for everything it displays, which makes it worth more than the tiles
suggest.
What it sends outward
Section titled “What it sends outward”Homarr reports weekly to a PostHog instance at hog.homarr.dev, keyed on an ID
minted on first run and stored in this stack’s database. It also checks GitHub
for a new version at startup.
Turn the telemetry off after first login: Manage → Settings → Analytics,
switch off general. It is a database setting, so it cannot be pre-set here.
NO_EXTERNAL_CONNECTION=true stops both calls, but it also stops the icon
repository refreshing, which is most of what Homarr is for. The UI switch is the
narrower instrument.
Backup
Section titled “Backup”| Database | SQLite inside volumes/appdata — no server, no dump hook |
| State | volumes/appdata — boards, integrations, users, encrypted credentials |
| Also needed | the encryption key, wherever .env is kept |
| Quiescing | Required. Stop the container or snapshot the filesystem rather than copying a live SQLite file. |
For borgmatic this stack is source_directories only,
with quiescing.
The key is not in the data directory. It comes from the environment, so the two have to be treated as one restore unit — the data alone is not enough.
Updates
Section titled “Updates”-
Read the release notes.
-
Back up
volumes/appdatawith the container stopped, and the key with it. -
Raise
APP_TAGin.env, then:Terminal window docker compose pull && docker compose up -d -
Open a board with an integration on it. A migration that touched the encrypted columns shows up there.
Troubleshooting
Section titled “Troubleshooting”Every integration stopped authenticating. The encryption key changed or is missing. Put the original back and restart.
Container state does not appear. Homarr has no route to the Docker daemon. See above before mounting the socket directly.
Repository files
Section titled “Repository files”apps/homarr/README.md— setup, security model, the Docker optionsapps/homarr/UPSTREAM.md— source and upgrade checklist
Official sources
Section titled “Official sources”© 2026 SecDockBlueCode Apache-2.0Site content CC BY-NC 4.0