All apps · 0 apps
bifrost
Docker app from Others' Repository
Overview
Readme
View on GitHub
Bifrost
A self-hosted smart-home hub — control your devices from one web UI, a REST API, and voice.
Bifrost unifies your smart-home devices behind a single, fast, self-hosted control surface — a web dashboard, a REST API, an embedded assistant (MCP) server, and natural-language voice. It's built around reliability: every device connection is owned by a state machine with reconnection, backoff, and live push to the browser, and a read that can't reach a device falls back to cached state rather than failing.
Documentation
📖 Full docs: https://others-git.github.io/bifrost/
- Overview — what Bifrost is and how it's built
- Setup guide — install, configuration, first-run, voice, the wall tablet
- Providers — Hue, Govee, LIFX, Nanoleaf, TP-Link Kasa, Onkyo/Integra, Sonos, Smart TV, Home Assistant, Plex
- Public API — the Bearer-key
/api/v1REST surface - MCP server — the embedded assistant tool catalogue
Quick start (Docker)
mkdir bifrost && cd bifrost
curl -fsSLO https://raw.githubusercontent.com/others-git/bifrost/main/docker-compose.yml
test -f .env || echo "BIFROST_SECRET=$(openssl rand -hex 32)" > .env
docker compose up -d
Then open http://<host>:3000. Keep BIFROST_SECRET identical across upgrades —
it encrypts your provider credentials at rest. See the
install guide for bare-binary builds and configuration.
On Unraid? Bifrost is in Community Applications — search Bifrost on the Apps tab and apply the template.
Companion repos
- bifrost-kiosk — a native Android app that turns a wall-mounted tablet into a hard-locked, always-on Bifrost fixture: a full-screen dashboard plus an offline wake-word voice satellite.
- bifrost-skills — reusable hardware setup runbooks (starting with the tablet wall-kiosk).
- bifrost-unraid — the Unraid Community Applications Docker template.
AI usage disclosure
Bifrost is built with heavy use of AI assistance — primarily Claude Code. AI contributed to code, tests, and documentation throughout. Every change is gated by the same CI as any other (cargo fmt, cargo clippy -D warnings, the full test suite, and the frontend build), and AI-assisted commits carry a Co-Authored-By: Claude trailer.
License
MIT
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/others-git/bifrost:latestRuntime arguments
- Web UI
http://[IP]:3000/- Network
host- Shell
sh- Privileged
- false
Template configuration
Directory for the SQLite database (bifrost.db). All state lives here: password, providers (credentials encrypted), lights, scenes, groups, floor plans.
- Target
- /data
- Default
- /mnt/user/appdata/bifrost/data
- Value
- /mnt/user/appdata/bifrost/data
REQUIRED. Encrypts provider credentials at rest (AES-256-GCM). Generate one with: openssl rand -hex 32. Changing it later orphans stored provider credentials (you would re-add providers).
- Target
- BIFROST_SECRET
SQLite connection string. Leave at the default unless you move the Data Directory mapping.
- Target
- DATABASE_URL
- Default
- sqlite:///data/bifrost.db
- Value
- sqlite:///data/bifrost.db
Address and port the app listens on. With host networking this is the actual host port — open http://[server-ip]:3000 after install. If you change the port here (e.g. 0.0.0.0:8080), browse to that port instead; the WebUI shortcut is fixed at 3000.
- Target
- BIND_ADDR
- Default
- 0.0.0.0:3000
- Value
- 0.0.0.0:3000
Log filter, e.g. bifrost=info or bifrost=debug.
- Target
- RUST_LOG
- Default
- bifrost=info
- Value
- bifrost=info