Homarr Dashboard: Self-Hosted Setup on Docker and Synology

  • Post author:Frank Joseph
  • Post published:
  • Post last modified:
  • Post category:Docker
  • Reading time:10 mins read

The Homarr dashboard is a self-hosted page that puts every app in your home lab on one board, edited with drag and drop instead of YAML. It installs from one Docker Compose file on a 64-bit Docker host or a Synology NAS, and the rest of the Homarr setup is building a board and connecting integrations.

I’m currently using Homarr, and if you’re a complete beginner, it’s the one I’d point you to since it’s generally all done through the GUI. Homarr 1.0 (released in January 2025) was a ground-up rewrite with a new image, a new folder layout and a required encryption key.

What Is Homarr?

Homarr is a free, open-source dashboard you host yourself, with 40+ integrations, built-in icons and authentication out of the box. You add apps (anything you or someone else hosts), arrange them on a board, and add widgets that pull live data from integrations like Proxmox or Docker. Each app can also ping its service, so a tile shows whether it’s online at a glance.

Before Homarr, I built my home lab dashboard with the Homer dashboard, and at the time, Homer was everything I wanted. The problem, when I moved off it in 2024, was that editing a configuration file every time a service changed had become a chore. If you compared my old dashboard to my new one, you could see how many services were missing (yes, that was from laziness).

Frank's old Homer dashboard with Infrastructure, Network, Self-Hosted and Cloud columns of service links
My Homer dashboard in 2024, before I moved to Homarr.

From personal experience, the dashboard that’s the easiest to customize is the one that will actually stay up to date, and that’s why I moved to Homarr. I’ve also used Heimdall in the past, and it works well too, while Homepage is configured through YAML files or Docker labels, so pick the one you’re comfortable with from a configuration perspective.

Do you need one at all? It’s not something I’d prioritize on day one when you’re starting a home lab, but once you have five or six services running, one place that links all of them is very convenient, and it takes maybe 20 to 30 minutes to configure.

How to Install Homarr with Docker Compose

Docker is the install method Homarr’s documentation recommends, and the Homarr Docker image ships with everything in one container (Redis and a SQLite database included). You’ll need at least 500MB of RAM and 600MB of free disk space on amd64 or arm64, as 32-bit ARM isn’t supported. The same file works as a Portainer stack with an absolute appdata path.

1. Create a folder for Homarr on your Docker host (something like homarr) and create a docker-compose.yml file inside it.

2. Paste in the Homarr Docker Compose file below, which is the one Homarr’s docs give as of October 2026.

services:
  homarr:
    container_name: homarr
    image: ghcr.io/homarr-labs/homarr:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
      - ./homarr/appdata:/appdata
    environment:
      - SECRET_ENCRYPTION_KEY=
    ports:
      - '7575:7575'

3. Generate a key with the command below and paste the 64-character output after SECRET_ENCRYPTION_KEY=. It encrypts the secrets Homarr stores in its database, so save a copy (the docs page can also generate one in your browser).

openssl rand -hex 32

4. Start the container from the same folder.

docker compose up -d

5. Open http://SERVER_IP:7575 in a browser and the onboarding starts.

There’s no default login for Homarr. Choose Start from scratch and the onboarding has you create the admin user, set a few basic server settings and pick the services you use (with the socket mounted, Homarr pre-selects your containers as apps and integrations). Onboarding cannot be restarted, and if it shows up again after a restart, the appdata mount is missing, wrong or read-only.

The /var/run/docker.sock line is only there for the Docker integration, which shows your containers and can start, stop or restart them. Mounting it gives Homarr control of Docker on that host, so remove the line if you don’t want that. Security recommendations change over time, so nothing here is a guarantee.

To update, run these from the same folder.

docker compose down
docker compose pull
docker compose up -d

Upgrading from Homarr 0.x

If you installed Homarr before 1.0 (the ghcr.io/ajnart/homarr image, which this page used to show), pulling the new image will not upgrade it. That repository is archived, and the Homarr project on GitHub that replaced it isn’t compatible with the old mounts, so the move is an export and an import.

1. Update the old install to 0.15.10 or newer, then select Management, then Tools, and finally, Migrate to 1.0. The export gives you a ZIP file and a secret key.

2. Deploy 1.x alongside it from a new homarr-v1 folder with this page’s compose file, changing container_name (and on a Synology, the Project name and volume path) to homarr-v1 and the port to 7576:7575.

3. In the new install’s onboarding, choose Import from Homarr before 1.0, upload the ZIP, pick the old screen size with the best layout, select Confirm import and continue and enter the key as the Token.

4. Once everything is there, back up the old homarr folder, remove the old container and change the port back to 7575:7575.

How to Install Homarr on a Synology NAS

Homarr’s Synology page doesn’t have steps of its own, but a Homarr Synology install is the same Compose file running as a Container Manager Project (DSM 7.2 and later). If you haven’t used one before, I have a full guide on Container Manager, and if you’re still picking a Synology NAS, you’ll want one that supports Container Manager.

1. Open File Station, go to the docker shared folder, and create a folder called homarr. Container Manager won’t create it for you, and the current compose only needs this one folder.

2. Open Container Manager, select Project, then Create. Give it a Project name, set the Path to the homarr folder, and choose Create docker-compose.yml as the Source.

3. Paste the compose below and replace the key with your own (Homarr’s Docker install page generates one in your browser). If your docker shared folder isn’t on volume1, change the path to match.

services:
  homarr:
    container_name: homarr
    image: ghcr.io/homarr-labs/homarr:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
      - /volume1/docker/homarr:/appdata
    environment:
      - SECRET_ENCRYPTION_KEY=your_64_character_hex_key
    ports:
      - '7575:7575'

4. Finish the wizard so the project builds and starts, then open http://NAS_IP:7575 and complete the onboarding.

There’s no permission step here, as the container runs as root unless you set PUID and PGID, so it can write to the folder as-is.

The Homarr Synology Integration

The Synology DiskStation integration pulls CPU, memory, storage and system health data from DSM into the System Health Monitoring, System resources and System disks widgets. It needs a DSM account in the Administrators group and does not support 2-step verification, so create a dedicated account without 2FA, give it a strong password, use it for nothing else, and sign in to DSM with it once to accept the terms.

Use the NAS URL with its port (for example https://NAS_IP:5001), and if DSM uses a self-signed certificate, add it under Management, Tools, Certificates. If the login fails while testing, temporarily disable DSM’s auto block (Control Panel, Security, Protection), then turn it back on. The Synology DiskStation integration docs cover the rest.

How to Build Your First Homarr Board

1. Select Management in your avatar menu, then Apps, and finally, New app. Enter a Name and the app’s URL, then pick an icon from the built-in library (or paste an icon URL or upload one). Check Use different URL for ping if the status check should hit a different address.

2. Use the dashboard board onboarding set up, or select Management, then Boards, and finally, New board. Give it a name (it’s used in the URL, so no special characters) and a Column count. Boards are private by default, and checking Public lets people view it without logging in.

3. Select Open board, then the pencil icon to enter edit mode. Select +, then Add an app, and pick your app. Drag the tile into place and resize it from the bottom-right corner (on a touch screen, Move / resize item is in the tile’s three dots menu).

4. Group apps with New category or New dynamic section from the same + menu, then select the pencil icon again to save.

The board’s Settings (the cog) is where the customization lives. Layout holds responsive layouts with their own column count and breakpoint, which is how you build a mobile layout. Background takes an image URL, Appearance has the colors, and Custom css applies to that board only. Select Save changes to keep them.

Access control sets View board, Modify board or Full access per user or group, and you can make any board your home board from Your preferences in your profile. Renaming a board under Danger zone breaks every existing link to it, so settle on the name before you bookmark it.

Homarr Integrations and Widgets

Integrations turn the Homarr dashboard from a page of links into something that shows what’s going on. Select Management, then Integrations, then New integration, pick the service, enter its URL and credentials, and select Test connection and create (1.x won’t save one that fails). Then, in edit mode, add the widget from +, New item and Add to board, pick the integration under Edit item, and save the board.

Use your server’s LAN IP rather than a Compose service name, as Docker’s internal hostname can break some integrations (Dash in particular). When the test flags a certificate, Trust certificate accepts TrueNAS’s self-signed one, but for Proxmox, upload /etc/pve/pve-root-ca.pem under Management, Tools, Certificates first. These are the common ones:

  • Docker: there’s no integration to add, as the socket line in the compose file turns it on (run docker compose up -d again if you add it later), so add the Docker stats widget.
  • Proxmox: the System Health Monitoring widget, through an API token (Homarr takes api@pve!homarr as Username api, Realm pve and Token ID homarr). The docs recommend the Proxmox VE authentication server realm over PAM and the PVEAuditor role, and here’s how to install Proxmox VE if you haven’t yet.
  • TrueNAS: health and resource widgets over HTTPS, with an API key.
  • UniFi: the integration Homarr labels “Unifi Controller” connects to the UniFi Network Application (formerly UniFi Controller) with a username and password, and feeds the Network Controller Summary and Network Status widgets.
  • Portainer: there isn’t a Portainer integration. Portainer is only an install method for Homarr, so use the Docker integration to manage containers.
  • Everything else: Home Assistant, Pi-hole, AdGuard Home, Jellyfin, Plex, Uptime Kuma and more each have their own integration.

On my 2024 board (Homarr 0.x), I started, stopped and restarted containers from the dashboard without logging in to Portainer, which the Docker integration still does today.

Homarr Dashboard Examples

Frank's Homarr 0.x board from 2024 with clock, weather and calendar widgets, two Proxmox panels, a Docker Server panel and app tiles
My Homarr board in July 2024, on Homarr 0.x. Widgets and the header look different in 1.x.

That board has clock, weather and calendar widgets, two Proxmox panels (my cluster and its virtual machines) and a Dash panel for my Docker server, and everything else is an app tile. By June 2025, my board had over 30 apps on it, including TrueNAS, Proxmox Backup Server, Jellyfin, Uptime Kuma and Home Assistant.

These boards make sense for most home labs:

  • A daily board: clock, weather, calendar and the apps you open every day, set as your home board.
  • An infrastructure board: Proxmox and TrueNAS or Synology health widgets, Docker stats and Uptime Kuma, with app status on so anything offline stands out.
  • A media board: Jellyfin or Plex and the tools around them, shared with family as a Public board or through access control.
  • A mobile board: fewer columns through a responsive layout, or a group’s own mobile board.

Start with the services you open every day and add more as your lab grows.

Frank Joseph

I'm Frank, founder of WunderTech. I've been working in enterprise IT for 15+ years and running home labs for nearly a decade — every tutorial on this site is tested on hardware I actually own, including Synology NAS units, a DIY TrueNAS server, a Proxmox cluster, a full UniFi network, and more. I hold a BS in Computer Information Systems and an MBA, but most of what you'll read here comes from my home lab, not a classroom. You can also find video versions of these tutorials on my YouTube channel.