Files
Inanis_Vault/21-Server Reference/stacks/homepage.md

2.0 KiB

Homepage

Self-hosted dashboard (gethomepage.dev) for quick access to all services.

Access

Containers

Container Image Role
homepage ghcr.io/gethomepage/homepage:latest Dashboard web app
homepage-tailscale-sidecar tailscale/tailscale:latest Tailscale node

Compose File

Path: /home/artanis/DockerFiles/homepage/docker-compose.yml

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    restart: unless-stopped
    pull_policy: always
    ports:
      - 35000:3000
    volumes:
      - /home/artanis/DockerFiles/homepage/config:/app/config
      - /home/artanis/DockerFiles/homepage/images:/app/public/images
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      HOMEPAGE_ALLOWED_HOSTS: 192.168.2.114:35000,homelab:35000,100.72.0.62:35000,homepage.bunny-wyvern.ts.net

  homepage-tailscale-sidecar:
    image: tailscale/tailscale:latest
    container_name: homepage-tailscale-sidecar
    restart: always
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    volumes:
      - homepage_tailscale_state:/var/lib/tailscale
    environment:
      - TS_AUTHKEY=<redacted>
      - TS_HOSTNAME=homepage
      - TS_STATE_DIR=/var/lib/tailscale
    network_mode: "service:homepage"

volumes:
  homepage_tailscale_state:

Data Layout

Path Contents
/home/artanis/DockerFiles/homepage/config YAML config files (services, widgets, settings)
/home/artanis/DockerFiles/homepage/images Custom images for the dashboard

Notes

  • HOMEPAGE_ALLOWED_HOSTS must include all hostnames/IPs from which the dashboard will be accessed — required by Homepage as a CSRF protection measure
  • The Docker socket is mounted to enable Homepage's Docker integration (live container status widgets)
  • pull_policy: always ensures the latest image is pulled on every stack restart