Homarr: Dashboard for Your Self-Hosted Apps

Stop remembering 50 different URLs and ports. One clean interface for all your self-hosted services.

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:

  1. Add a workspace: Think of this as a category - I have "Media", "Productivity", "System"
  2. Add apps: For each service, give it a name and URL
  3. Choose an icon: Either upload one or pick from the built-in set
  4. 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:

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:

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:

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

What could be better

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.