Had self-hosted stuff scattered everywhere. Jellyfin on :8096, Nextcloud on :8080, Portainer on :9000, a bunch of random services I could never remember the ports for. Browser bookmarks were a mess, and typing IPs constantly got old fast.
Installed Homarr on a Saturday afternoon. Now everything's on one page - weather, calendar, service status, quick links to all my containers. Even my wife can use the media server without asking me for the URL every time.
What Homarr actually does
Homarr is a self-hosted dashboard that gives you a central place to access all your services. Think of it as a start page for your home server - you add widgets and links, it pulls in data from your services, and you get a clean overview of everything running on your machine.
What I actually use it for: quick access to all my Docker containers, status monitoring so I know when something's down, weather and calendar widgets on the homepage, and integration with services like Jellyfin and qBittorrent so I can manage them without leaving the dashboard.
Installing with Docker (recommended)
Docker is definitely the way to go:
# Create a directory for Homarr config
mkdir -p ~/homarr/config
cd ~/homarr
# Run the container
docker run -d \
--name homarr \
-p 7575:7575 \
-v ~/homarr/config:/app/data/configs \
--restart=unless-stopped \
ghcr.io/homarr-labs/homarr:latest
Access it at http://your-server-ip:7575. First time it'll walk you through setup - create an admin account and you're good to go.
Docker Compose setup (better option)
If you're already using Compose:
# docker-compose.yml
version: "3.8"
services:
homarr:
image: ghcr.io/homarr-labs/homarr:latest
container_name: homarr
ports:
- "7575:7575"
volumes:
- ./homarr/config:/app/data/configs
restart: unless-stopped
Run with docker-compose up -d and it'll handle restarts automatically.
Adding your first services
Click the edit button (pencil icon) and start adding:
- Add a workspace: Think of this as a category - I have "Media", "Productivity", "System"
- Add apps: For each service, give it a name and URL
- Choose an icon: Either upload one or pick from the built-in set
- Set the position: Drag and drop to arrange how you want
Took me about 10 minutes to add all my common services. Now instead of remembering that Jellyfin is on port 8096, I just click the icon.
Useful widgets to add
Homarr comes with a bunch of widgets. Here's what I've found actually useful:
- Date & Time: Simple, but I actually use it
- Weather: Needs an OpenWeather API key (free tier works fine)
- Search: DuckDuckGo or Google search right from the dashboard
- Calendar: Shows upcoming events if you use CalDAV
- DNS: Shows your current IP address (handy for DynDNS updates)
Don't go overboard here. I started adding tons of widgets and the page got cluttered fast. Less is more.
Integrations that actually work
Homarr can pull data from some services directly:
- Jellyfin/Emby: See recently added media, continue watching
- qBittorrent: See active downloads, pause/resume torrents
- Sonarr/Radarr: See recent additions and queue status
- Pi-hole: DNS query stats and ad-blocking overview
Setup requires getting API keys from each service. Documentation is decent but you'll probably need to Google a few things.
Configuring reverse proxy (optional but recommended)
If you want to access Homarr via a domain instead of IP:port:
# Nginx Proxy Manager example
# Domain: dashboard.yourdomain.com
# Scheme: http
# Forward Host/IP: homarr
# Forward Port: 7575
This is what I did - now I just go to dashboard.mydomain.com instead of remembering the port. Using Cloudflare tunneling so I can access it from outside my network too.
Customization tips
Stuff I learned through trial and error:
- Upload custom icons instead of using the built-in ones - looks way more professional
- Use the DNS widget to display your public IP if you're using DynDNS
- Create multiple workspaces if you have a lot of services - keeps things organized
- Enable "Open in new tab" for apps so you don't lose your dashboard
- The
docker inspecttrick helps find container IPs if you're using Docker networks
Common problems I hit
Config not saving
Make sure the volume mount is correct. First time I set it up I mapped to the wrong directory and all my changes disappeared on restart. Check docker inspect homarr to verify mounts.
Apps showing as down when they're not
Homarr tries to ping services to show status. If you're using Docker networks, containers might not be reachable by localhost. Use the actual container IP or configure health checks properly.
Weather widget not working
You need an OpenWeather API key. Sign up at openweathermap.org - the free tier gives you 1000 calls/day which is plenty. The API key takes like 10 minutes to activate after you sign up.
Backup and restore
Your config lives in the mounted volume:
# Backup
tar -czf homarr-backup-$(date +%Y%m%d).tar.gz ~/homarr/config/
# Restore (after creating a fresh container)
docker stop homarr
docker rm homarr
# Then extract the backup and restart the container
I back this up weekly along with my other Docker configs. Losing your dashboard configuration isn't the end of the world, but it's annoying to set up everything again.
What works well
- Clean interface without too much clutter
- Responsive design works well on mobile
- Integrations with Jellyfin and torrent clients are solid
- Active development - updates are frequent
- Low resource usage compared to some alternatives
What could be better
- Some integrations are a bit finicky to set up
- Documentation is good but not great
- Mobile app would be nice (web interface works fine though)
- Widget customization could be more flexible
Alternatives I considered
| Tool | Why I chose Homarr instead |
|---|---|
| Heimdall | Older, more established, but Homarr's UI felt more modern |
| Organizr | More powerful but way more complex than I needed |
| Homer | Simpler, but Homarr's integrations won me over |
| Flame | Nice alternative, but Homarr was easier to set up |
Bottom line
Homarr isn't doing anything revolutionary - it's just a dashboard. But having a central place to access all your self-hosted stuff makes running a home server feel less like a chore and more like a coherent system.
Setup takes maybe 30 minutes tops, and after that it just works. If you're running more than a few self-hosted services, it's worth installing.