Homarr Modern Dashboard
Homarr dashboard with service integrations.
Overview
Homarr is a modern, customizable dashboard application designed specifically for homelab enthusiasts and self-hosted service management. Built with a sleek, responsive interface, Homarr allows users to create personalized dashboards that aggregate and monitor various self-hosted applications, services, and system metrics through an intuitive drag-and-drop configuration system. The application excels at integrating with popular homelab services like Plex, Sonarr, Radarr, and other *arr applications, providing real-time status updates, system health monitoring, and quick access to frequently used tools. This deployment pairs Homarr with NGINX to create a robust dashboard solution where NGINX serves as a high-performance reverse proxy, handling SSL termination, static file serving, and load distribution. The combination leverages NGINX's event-driven architecture to efficiently manage concurrent dashboard requests while Homarr focuses on service integration and widget rendering. This stack is ideal for homelab administrators, self-hosting enthusiasts, and anyone managing multiple containerized services who needs a centralized, visually appealing interface to monitor and control their infrastructure from a single location.
Key Features
- Drag-and-drop dashboard builder with customizable widgets and layouts
- Native integration with *arr applications (Sonarr, Radarr, Lidarr) for media management monitoring
- Docker container discovery and management through mounted Docker socket
- Real-time service status monitoring with health checks and uptime tracking
- Customizable icon library with support for custom service icons
- NGINX reverse proxy with HTTP/2 support for optimized dashboard loading
- Responsive design optimizing dashboard viewing across desktop and mobile devices
- Widget-based architecture supporting system metrics, weather, calendar, and RSS feeds
Common Use Cases
- 1Homelab enthusiasts centralizing access to self-hosted media servers, download clients, and automation tools
- 2IT administrators monitoring containerized application health and performance across development environments
- 3Home automation enthusiasts integrating smart home controls with media management and system monitoring
- 4Small business owners managing multiple web services and applications from a unified interface
- 5Docker enthusiasts organizing and monitoring their container ecosystem with visual service management
- 6Network administrators creating status dashboards for internal services and infrastructure monitoring
- 7Self-hosting advocates replacing cloud-based dashboards with locally-controlled service aggregation
Prerequisites
- Docker Engine and Docker Compose installed on the host system
- Minimum 512MB RAM available for Homarr application and widget rendering
- Docker socket access permissions for container discovery and management features
- Network ports 7575 and 80 available for Homarr and NGINX services respectively
- Basic understanding of Docker volume management for persistent dashboard configurations
- NGINX configuration knowledge for customizing reverse proxy settings and SSL setup
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 homarr: 3 image: ghcr.io/ajnart/homarr:latest4 container_name: homarr5 restart: unless-stopped6 ports: 7 - "${HOMARR_PORT:-7575}:7575"8 environment: 9 - TZ=${TZ:-UTC}10 volumes: 11 - homarr_configs:/app/data/configs12 - homarr_icons:/app/public/icons13 - /var/run/docker.sock:/var/run/docker.sock:ro1415 nginx: 16 image: nginx:alpine17 container_name: homarr-nginx18 restart: unless-stopped19 ports: 20 - "${NGINX_PORT:-80}:80"21 volumes: 22 - ./nginx.conf:/etc/nginx/nginx.conf:ro2324volumes: 25 homarr_configs: 26 homarr_icons: .env Template
.env
1# Homarr2HOMARR_PORT=75753TZ=UTC4NGINX_PORT=80Usage Notes
- 1Homarr at http://localhost:7575
- 2Drag-and-drop configuration
- 3Docker socket for containers
- 4Integrates with *arr apps
Individual Services(2 services)
Copy individual services to mix and match with your existing compose files.
homarr
homarr:
image: ghcr.io/ajnart/homarr:latest
container_name: homarr
restart: unless-stopped
ports:
- ${HOMARR_PORT:-7575}:7575
environment:
- TZ=${TZ:-UTC}
volumes:
- homarr_configs:/app/data/configs
- homarr_icons:/app/public/icons
- /var/run/docker.sock:/var/run/docker.sock:ro
nginx
nginx:
image: nginx:alpine
container_name: homarr-nginx
restart: unless-stopped
ports:
- ${NGINX_PORT:-80}:80
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 homarr:5 image: ghcr.io/ajnart/homarr:latest6 container_name: homarr7 restart: unless-stopped8 ports:9 - "${HOMARR_PORT:-7575}:7575"10 environment:11 - TZ=${TZ:-UTC}12 volumes:13 - homarr_configs:/app/data/configs14 - homarr_icons:/app/public/icons15 - /var/run/docker.sock:/var/run/docker.sock:ro1617 nginx:18 image: nginx:alpine19 container_name: homarr-nginx20 restart: unless-stopped21 ports:22 - "${NGINX_PORT:-80}:80"23 volumes:24 - ./nginx.conf:/etc/nginx/nginx.conf:ro2526volumes:27 homarr_configs:28 homarr_icons:29EOF3031# 2. Create the .env file32cat > .env << 'EOF'33# Homarr34HOMARR_PORT=757535TZ=UTC36NGINX_PORT=8037EOF3839# 3. Start the services40docker compose up -d4142# 4. View logs43docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/homarr-dashboard-stack/run | bashTroubleshooting
- Homarr widgets showing 'Service Unavailable': Verify target service URLs are accessible from within Docker network and check firewall rules
- Docker containers not appearing in Homarr: Ensure Docker socket is properly mounted with read permissions and check container labels for service discovery
- Dashboard configuration lost after restart: Verify homarr_configs volume is properly mounted and has write permissions for the container user
- NGINX showing 502 Bad Gateway: Check Homarr container status and ensure port 7575 is accessible between containers in the same Docker network
- *arr application integration failing: Verify API keys are correctly configured and the applications are accessible on their specified ports
- Custom icons not displaying: Ensure homarr_icons volume is mounted and icon files are placed in the correct directory structure within the volume
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Ad Space
Shortcuts: C CopyF FavoriteD Download