services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    environment:
      PUID: 1000
      PGID: 1000
    ports:
      - 5100:3000
    volumes:
      - /opt/docker/conf/homepage:/app/config # Make sure your local config directory exists
      # Background art. Homepage serves ONLY custom.css and custom.js out of
      # /app/config — there is no static route for anything else in there — so
      # an image referenced from the config dir 404s. /app/public/images is the
      # documented drop point; files here are reachable as /images/<name>, which
      # is what settings.yaml's `background:` points at. Read-only: nothing in
      # the container should ever write to it.
      - /opt/docker/compose/homepage/images:/app/public/images:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
    restart: unless-stopped
    networks:
      - tnet
    labels:
      - traefik.enable=true
      - traefik.http.routers.homepage.rule=host(`eshhome`) || host(`10.0.50.45`)
        || host (`eshhome.esteban.net`)
      - traefik.http.services.homepage.loadbalancer.server.port=3000
      - traefik.http.routers.homepage.priority=1
    env_file:
      - .env
networks:
  tnet:
    name: traefik-net
    external: true
