# Homepage — service launcher + status dashboard for the localgenai stack. # https://gethomepage.dev # # Single tile per service, with live widgets (loaded models, container # state, request rates) where the upstream supports it. Reads its config # from /srv/docker/homepage/config; pyinfra ships the initial files there # and leaves them alone afterwards (edit them directly to add bookmarks, # tweak the layout, etc). # # Bring-up: `docker compose up -d`. UI at http://framework:7575. services: homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage restart: unless-stopped ports: # 7575 picked to avoid the soup of 30xx ports already in use # (OpenWebUI 3000, OpenLIT 3001, OpenHands 3030). - "7575:3000" extra_hosts: # Required for customapi widgets to reach host services. Inside the # container, `framework` resolves to 127.0.1.1 (Ubuntu hostname # loopback alias), which is the container itself. Use # host.docker.internal in widget.url fields to route via the host # gateway. The user-facing `href` fields keep `framework:` since # those resolve on the user's browser, not the container. - "host.docker.internal:host-gateway" volumes: - /srv/docker/homepage/config:/app/config # Read-only docker socket so homepage can render container status # (running / stopped, CPU, memory) on each tile. - /var/run/docker.sock:/var/run/docker.sock:ro environment: # Required when accessed from a host other than localhost (i.e. # over Tailscale by hostname). Comma-separated list; * matches all. HOMEPAGE_ALLOWED_HOSTS: "framework:7575,framework,localhost:7575,localhost,*"