Skip to content

Beautiful, fast and modern UI for the FRITZ!Box. Get a simple overview over your Router, Networkdevices and SmartHome Devices.

License

Notifications You must be signed in to change notification settings

lukesthl/fritz-ui

Repository files navigation

Beautiful, fast and modern UI for the FRITZ!Box. Get a simple overview over your Router, Networkdevices and SmartHome Devices.

About The Project · Features · Installation · Configuration · Tech Stack


About The Project

New.Recording.Apr.10.2023.0100.PM.mp4

Features

  • Dashboard with Router, SmartHome Device Stats
  • Mobile Responsive
  • PWA Support
  • All your network devices in one list
  • SmartHome Devices with current temperature, battery status and more
  • Login with your fritzbox user credential

Installation

Docker

docker run -d --restart=always -p 3000:3000 --name fritz-ui ghcr.io/lukesthl/fritz-ui:latest

Configuration

docker run -d --restart=always -p 3000:3000 -e NEXTAUTH_URL='http://localhost:3000' \
  -e NEXTAUTH_URL='http://localhost:3000' \
  -e NEXTAUTH_SECRET='secret' \
  -e FRITZBOX_HOST='fritz.box' \
  -e FRITZBOX_PORT='49000'  \
  -e FRITZBOX_SSL='0' \
  --name fritz-ui ghcr.io/lukesthl/fritz-ui:latest

Run-time variables

These variables must also be provided at runtime

Variable Description Required Default
NEXTAUTH_URL Base URL of the site. NOTE: if this value differs from the value used at build-time, there will be a slight delay during container start (to update the statically built files). optional http://localhost:3000
NEXTAUTH_SECRET jwt secret optional secret
FRITZBOX_HOST fritzbox host optional fritz.box
FRITZBOX_PORT fritzbox port optional 49000
FRITZBOX_SSL is fritzbox accessible via https (1 = true, 0 = false) optional 0

Tech Stack

Ideas

  • Customizable Dashboard
  • Multi Language Support
  • Edit Network Device Properties
  • Move to app dir with rsc (waiting for tRPC)

Security

You can technically host it on a vps, however i don't recommend it. Always host on a private network, which is not accessible publicly.