docker.recipes

Homer Dashboard

beginner

Simple static homepage for your server services.

Overview

Homer is a static dashboard application designed to organize and provide quick access to self-hosted services and web applications. Created as a lightweight alternative to complex dashboard solutions, Homer generates beautiful, responsive homepages using simple YAML configuration files and requires no database or complex setup. The dashboard renders entirely in the browser using static assets, making it incredibly fast and resource-efficient. This Homer deployment creates a centralized hub for accessing homelab services, internal tools, and frequently used applications through customizable tiles and categories. The b4bz/homer Docker image includes automatic asset initialization and supports custom themes, icon packs, and flexible layouts. The configuration lives in a persistent volume, allowing easy backup and version control of your dashboard setup while maintaining zero downtime updates. This stack is perfect for homelab enthusiasts, system administrators managing multiple internal services, and teams needing a clean interface to access development tools and staging environments. Homer's simplicity makes it ideal for users who want a functional dashboard without the overhead of dynamic content management systems or complex authentication schemes.

Key Features

  • YAML-based configuration system with hot-reload capability for instant updates
  • Responsive grid layout with customizable service tiles and category grouping
  • Built-in icon library with support for Font Awesome and custom icon packs
  • Multiple theme options including dark mode and custom CSS styling
  • Service health monitoring with automatic status indicators and ping checks
  • Search functionality across all configured services and categories
  • Subtitle and tag support for detailed service descriptions
  • Static asset generation for maximum performance and minimal resource usage

Common Use Cases

  • 1Homelab service organization for Plex, Nextcloud, Pi-hole, and other self-hosted applications
  • 2Development team dashboards linking to GitLab, Jenkins, monitoring tools, and documentation
  • 3IT department portals providing access to internal systems, ticketing, and administration tools
  • 4Network operations centers needing quick access to monitoring dashboards and network devices
  • 5Small business internal portals consolidating CRM, accounting, and productivity applications
  • 6Educational environments organizing student resources, learning management systems, and tools
  • 7Personal productivity hubs combining bookmarks, weather, calendar, and frequently used services

Prerequisites

  • Docker Engine 20.10+ and Docker Compose V2 for container orchestration
  • Minimum 64MB RAM allocation for the Homer container (typically uses 20-30MB)
  • Port 8080 available on the host system or alternative port mapping configured
  • Basic YAML editing knowledge for service configuration and customization
  • Web browser with JavaScript enabled for dashboard functionality
  • Network connectivity to services you plan to link from the dashboard

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 homer:
3 image: b4bz/homer:latest
4 container_name: homer
5 volumes:
6 - homer-assets:/www/assets
7 ports:
8 - "8080:8080"
9 environment:
10 - INIT_ASSETS=1
11 networks:
12 - homer-network
13 restart: unless-stopped
14
15volumes:
16 homer-assets:
17
18networks:
19 homer-network:
20 driver: bridge

.env Template

.env
1# Homer
2# Edit config.yml in assets volume

Usage Notes

  1. 1Dashboard at http://localhost:8080
  2. 2Edit assets/config.yml
  3. 3YAML-based configuration
  4. 4Icon packs available
  5. 5Simple and fast

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 homer:
5 image: b4bz/homer:latest
6 container_name: homer
7 volumes:
8 - homer-assets:/www/assets
9 ports:
10 - "8080:8080"
11 environment:
12 - INIT_ASSETS=1
13 networks:
14 - homer-network
15 restart: unless-stopped
16
17volumes:
18 homer-assets:
19
20networks:
21 homer-network:
22 driver: bridge
23EOF
24
25# 2. Create the .env file
26cat > .env << 'EOF'
27# Homer
28# Edit config.yml in assets volume
29EOF
30
31# 3. Start the services
32docker compose up -d
33
34# 4. View logs
35docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/homer-dashboard/run | bash

Troubleshooting

  • Dashboard shows default config after restart: Verify INIT_ASSETS=1 is set and homer-assets volume is properly mounted to /www/assets
  • Custom icons not displaying: Ensure icon files are placed in assets/icons/ directory and referenced correctly in config.yml with proper file extensions
  • Service tiles showing as unreachable: Check that URLs in config.yml are accessible from your browser and services are running on specified ports
  • Changes to config.yml not reflected: Clear browser cache or perform hard refresh, as Homer caches configuration data for performance
  • Permission denied when editing config files: Verify that the assets volume has proper write permissions and the container user can modify files
  • Dashboard not loading on custom port: Confirm port mapping in docker-compose.yml matches your intended external port and firewall rules allow access

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